python利用pandas数据合并与重塑--concat篇
利用pandas数据合并与重塑
1.concat函数
concat函数是在pandas下的方法,可以将数据根据不同的轴作简单的融合
pd.concat(objs, axis=0,join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False)
参数说明
objs: series,dataframe或者是panel构成的序列lsit
axis: 需要合并链接的轴,0是行,1是列
join:连接的方式 inner,或者outer
1.1相同字段的表首尾相接
#将表构成list,然后作为concat的输入
frames = [df1,df2,df3]
results = pd.concat(frame)
要在相接的时候再加上一个层次的key来识别数据源自于哪张表,可以增加key参数
result = pd.concat(frames,keys=['x','y','z'])
1.2横向表拼接(行对齐)
1.2.1 axis
当axis = 1 的时候,concat就是行对齐,然后将不同列名称的两张表合并
result = pd.concat([df1,df4],axis = 1)
1.2.2 join
加上join参数的属性,如果为‘inner’得到的是两表的交集
如果是outer,得到的是两表的并集
result = pd.concat([df1,df4],axis=1,join='inner')
1.2.3 join_axes
如果有join_axes的参数传入,可以指定根据那个轴来对齐数据
例如根据df1的表对齐数据,就会保留指定的df1表的轴,然后将df4的表与之拼接
result = pd.concat([df1,df4],axis=1,join_axes=[df1.index])
1.3 append函数
append是series和dataframe的方法,使用它就是默认沿着列进行凭借(axis = 0,列对齐)
result = df1.append(df2)
参考链接:http://blog.csdn.net/stevenkwong/article/details/52528616