import pandas as pd
df1 = pd.read_csv('./data/concat_1.csv')
df2 = pd.read_csv('./data/concat_2.csv')
df3 = pd.read_csv('./data/concat_3.csv')
df1.columns = ['A','B','C','D']
df2.columns = ['E','F','G','H']
#df3 的所有的列,都在前两个里面
df3.colunms = ['A','C','F','H']
print(df1)
print(df2)
print(df3)
#行连接 df1落在df2上面,是错位落在一起, 没有只就用NAN是飞值
row_concat = pd.concat([df1,df2,df3])
print(row_concat)
#内连接
print('---------------')
#空的说明,df1和df2和df3内连接在一起是inner
print(pd.concat([df1,df2,df3],join='inner'))
#使用内连接,行连接,会找的所有参与连接数据集,他的列相等这个列,这个列必须在所有参与行连接数据集都有,才输出这个A 说的是下面的
df1.columns = ['A','B','C','D']
df2.columns = ['A','F','G','H']
df3.columns = ['A','C','F','H']
#join='inner' 必须要有公共的列
#重点:
也就说是行连接,我们使用内连接,会找到所有参与连接的记录集,它的公共列所有的值,列出来 ----这个就是行连接的内连接
A B C D E F G H
0 a0 b0 c0 d0 NaN NaN NaN NaN
1 a1 b1 c1 d1 NaN NaN NaN NaN
2 a2 b2 c2 d2 NaN NaN NaN NaN
3 a3 b3 c3 d3 NaN NaN NaN NaN
0 NaN NaN NaN NaN a4 b4 c4 d4
1 NaN NaN NaN NaN a5 b5 c5 d5
2 NaN NaN NaN NaN a6 b6 c6 d6
3 NaN NaN NaN NaN a7 b7 c7 d7
0 a8 b8 c8 d8 NaN NaN NaN NaN
1 a9 b9 c9 d9 NaN NaN NaN NaN
2 a10 b10 c10 d10 NaN NaN NaN NaN
3 a11 b11 c11 d11 NaN NaN NaN NaN
Empty DataFrame
Columns: []
Index: [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3]
来源:CSDN
作者:dajiahao
链接:https://blog.csdn.net/u012164509/article/details/101767009