在pandas中水平组合三个数据帧

时间:2017-09-16 06:33:34

标签: python pandas dataframe concat

我有三个数据帧,每个形状100 * 100如何将它们水平组合到一个形状为300 * 100的新数据帧? 我尝试使用这些命令:

result = df1.combine_first(df2) 

result = pd.concat([df1, df2], axis=1, join_axes=[df1.index])

result = df1.append(df2, ignore_index=True)

但是,non给出了形状300 * 100的数据帧的期望结果。 我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

如果要合并3 100 x 100 df以获得300 x 100的输出,则表示您希望将它们垂直堆叠。所以,试试axis=0

可能需要先重命名列,这样就可以循环执行。

df_list = [df1, df2, df3]    
for d in df_list[1:]:
    d.columns = df_list[0].columns
df = pd.concat(df_list, axis=0, ignore_index=True)