python我爱编程

python利用pandas数据合并与重塑--concat篇

2017-09-29  本文已影响0人  w春风十里w

利用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

上一篇下一篇

猜你喜欢

热点阅读