pandas的使用(concat篇)

谈到pandas数据的行更新、表合并平,一般的方法有concat、join、merge。我来说下他们的使用场景和用途。

主要来自pandas官方中关于数据合并和重述的使用方法的总结。

代码由pandas官网提供,小编运行了一遍。

concat

import pandas as pd
pd.concat(object,axis=0,join='outer',join_axes=None,ignore_index=False,keys=None,levels=None,names=None,verify_integrity=False)

参数说明

object:series,dataframe或则是panel构成的序列list

axis:需要合并连接的轴,0是行,1是列

join:连接的方式inner,或者outer

1,相同字段的表首尾相连

#frames=[df1,df2,df3]

result=pd.concat(frames)

#效果如下

#如果在连接的时候加上一个key来识别数据来源于那张表,可以增加可以参数

result=pd.concat(frames,keys=['x','y','z'])

如下效果

 

2,横向拼接(行对齐)

2.1axis

当axis=1的时候,concat就是行对齐,然后将不同列名称的两张表合并

#result=pd.concat([df1,df4],axis=1)

3 join

加上join参数的属性,如果是 inner 得到的是两表的交集,如果是outer,得到的是两表的并集。

result=pd.concat([df1,df4],axis=1,join='inner')

4,join_axes

如果是join_axes的参数传入,可以指定根据那个轴来对齐数据

例如根据df1表对齐数据,就会保留指定的df1表的轴,然后将df4的表与之拼接

result=pd.concat([df1,df4],axis=1,join_axes=[df1.index])

 

5,appeng

#append是series和dataframe的方法,使用他就是默认沿着行(axis=0,列对齐)

result=df1.append(df2)

 

6,可以无视index的concat

当两个表的index没有实际意义时,使用ignore_index参数,为true时,合并的两个表

就根据列字段对齐,然后合并,最后真理新的index

 

7,合并的同时增加区分数据组的键

前面提到的key参数可以用来给合并的表key来区分不同的表数据来源

result = pd.concat(frames,keys=['x','y','z']

8,传入字典来增加分组键

jia={'x':df1,'y':df2,'z':df3}

result=pd.concat(jia)

9,在dataframe中加入新的行

append方法可以将series和字典的数据作为dataframe的新一行插入

pd.series(['x0','x1','x2','x3'],index=['A','B','C','D'])

result=df1.append(s2,ignore_index=True)

10,表格字段不同的表合并

dicts = [{'A': 1, 'B': 2, 'C': 3, 'X': 4},{'A': 5, 'B': 6, 'C': 7, 'Y': 8}]

result = df1.append(dicts, ignore_index=True)

以上是concat篇的内容,有建议请指正,微信:17576052970

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值