多个DataFrame中有不同的列名,上下合并方法

# Note the column names
df1 = pd.DataFrame({"A": ["A0", "A1", "A2", "A3"],
                    "B": ["B0", "B1", "B2", "B3"],
                    "C": ["C0", "C1", "C2", "C3"],
                    "D": ["D0", "D1", "D2", "D3"],
                    },
                    index = [0, 1, 2, 3],
                   )
# Note the column names
df2 = pd.DataFrame({"AA": ["A4", "A5", "A6", "A7"],
                    "BB": ["B4", "B5", "B6", "B7"],
                    "CC": ["C4", "C5", "C6", "C7"],
                    "DD": ["D4", "D5", "D6", "D7"],
                   },
                   index = [4, 5, 6, 7],
                  )
# Note the column names
df3 = pd.DataFrame({"AAA": ["A8", "A9", "A10", "A11"],
                    "BBB": ["B8", "B9", "B10", "B11"],
                    "CCC": ["C8", "C9", "C10", "C11"],
                    "DDD": ["D8", "D9", "D10", "D11"],
                   },
                   index = [8, 9, 10, 11],
                  )

以上为多个DataFrame,注意它们的列名不同,但是数据结构类似! 要求合并达到如图效果!

使用np.concatenate方法,列名可以在columns参数中以列表形式自定义!

out = pd.DataFrame(np.concatenate([df1.values,df2.values,df3.values]),columns=df1.columns)


Out[346]: 
      A    B    C    D
0    A0   B0   C0   D0
1    A1   B1   C1   D1
2    A2   B2   C2   D2
3    A3   B3   C3   D3
4    A4   B4   C4   D4
5    A5   B5   C5   D5
6    A6   B6   C6   D6
7    A7   B7   C7   D7
8    A8   B8   C8   D8
9    A9   B9   C9   D9
10  A10  B10  C10  D10
11  A11  B11  C11  D11
经验分享 程序员 微信小程序 职场和发展