![3ff5616e7c785e779c92353c96629f59.png](https://i-blog.csdnimg.cn/blog_migrate/f0a5731dbc8fcd0de37d122c0bba73e7.jpeg)
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
其他一些参数不常用,用的时候再补上说明。
相同字段的表首尾相接
![830efca3b1bfc1907f7b9d2da92eaf96.png](https://i-blog.csdnimg.cn/blog_migrate/06dffce82706f94fb621bd9ad9a89a05.jpeg)
# 现将表构成list,然后在作为concat的输入
frames = [df1, df2, df3]
result = pd.concat(frames)
要在相接的时候在加上一个层次的key来识别数据源自于哪张表,可以增加key参数
result = pd.concat(frames, keys=['x', 'y', 'z'])
效果如下:
![ae339c4da47e3e0702b38819cd518c6c.png](https://i-blog.csdnimg.cn/blog_migrate/9e59e20ea72ee0cb0ad22a2f818595b8.jpeg)
横向表拼接(行对齐)
axis
当axis = 1的时候,concat就是行对齐,然后将不同列名称的两张表合并
result = pd.concat([df1, df4], axis=1)
![c4ce85ee5e37b6d05c2802402958bf76.png](https://i-blog.csdnimg.cn/blog_migrate/697a6f78431e061de749c08cc76f50b6.jpeg)
join
加上join参数的属性,如果为’inner’得到的是两表的交集,如果是outer,得到的是两表的并集。
result = pd.concat([df1, df4], axis=1, join='inner')
![39614fa24e463c56a3c50a58a7900a22.png](https://i-blog.csdnimg.cn/blog_migrate/93e361138a97eee3f9e5bbdbd68c74de.jpeg)
join_axes
如果有join_axes的参数传入,可以指定根据那个轴来对齐数据
例如根据df1表对齐数据,就会保留指定的df1表的轴,然后将df4的表与之拼接