我有一个初始数据帧d,我从中提取了两个数据帧,如下所示:

A = D[D.label == k]
B = D[D.label != k]

我想把A和B合并成一个数据框架。数据的顺序并不重要。然而,当我们从D中采样A和B时,它们保留了D中的索引。


当前回答

跨行合并:

df_row_merged = pd.concat([df_a, df_b], ignore_index=True)

跨列合并:

df_col_merged = pd.concat([df_a, df_b], axis=1)

其他回答

要按列连接2个pandas数据帧,使用它们的索引作为连接键,你可以这样做:

both = a.join(b)

如果你想通过索引来连接多个dataframe、Series或它们的混合,只需将它们放在一个列表中,例如:

everything = a.join([b, c, d])

请参阅pandas文档中的datafframe .join()。

# collect excel content into list of dataframes
data = []
for excel_file in excel_files:
    data.append(pd.read_excel(excel_file, engine="openpyxl"))

# concatenate dataframes horizontally
df = pd.concat(data, axis=1)
# save combined data to excel
df.to_excel(excelAutoNamed, index=False)

当你横向追加时,你可以尝试上面的方法!希望这对sum1有所帮助

用pd。Concat连接多个数据框架:

df_merged = pd.concat([df1, df2], ignore_index=True, sort=False)

弃用:DataFrame。附加和系列。在v1.4.0中已弃用。


使用附加:

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

为了保留它们的索引,设置ignore_index=False。

跨行合并:

df_row_merged = pd.concat([df_a, df_b], ignore_index=True)

跨列合并:

df_col_merged = pd.concat([df_a, df_b], axis=1)