在 pandas 中水平组合三个数据帧
Combining three dataframes horizontally in pandas
我有三个数据框,每个形状都是 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)
但没有给出形状为 300*100 的数据框的预期结果。
我该怎么做?
如果你想组合 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)
我有三个数据框,每个形状都是 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)
但没有给出形状为 300*100 的数据框的预期结果。 我该怎么做?
如果你想组合 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)