pandas.contact函数
默认情况下是对两个DataFrame对象进行纵向连接, 当然通过设置参数,也可以通过它实现DataFrame对象的横向连接
一、列数相同
import pandas as pd df1 = pd.DataFrame([['a', 1], ['b', 2]], columns=['letter', 'number']) df2 = pd.DataFrame([['c', 3], ['d', 4]], columns=['letter', 'number']) df3 = pd.concat([df1, df2]) print(df3)
结果如下:
二、列数不同
2.1 合并后不足的列补全
import pandas as pd df1 = pd.DataFrame([['a', 1], ['b', 2]], columns=['letter', 'number']) df2 = pd.DataFrame([['c', 3,'cat'], ['d', 4,'dog']], columns=['letter', 'number','animal']) df3 = pd.concat([df1, df2]) print(df3)
结果如下:
2.2 只合并相同的列
import pandas as pd df1 = pd.DataFrame([['a', 1], ['b', 2]], columns=['letter', 'number']) df2 = pd.DataFrame([['c', 3,'cat'], ['d', 4,'dog']], columns=['letter', 'number','animal']) df4 = pd.concat([df1, df2],join='inner') #inner类似mysql中用法 print(df4)
三、横向合并
import pandas as pd df1 = pd.DataFrame([['a', 1], ['b', 2]], columns=['letter', 'number']) df2 = pd.DataFrame([['cat','north'], ['dog','south']], columns=['animal','type']) df3 = pd.concat([df1, df2],axis=1) print(df3)
结果如下: