多个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