如何将两个数据帧合并为一个数据帧?

问题描述 投票:72回答:4

我正在使用熊猫数据框。我有一个初始数据帧,例如D。我像这样从中提取两个数据帧:

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

然后更改AB中的标签

A.label = 1
B.label = -1

我想将A和B组合在一起,因此我可以将它们作为一个数据帧,类似于联合操作。数据的顺序并不重要。但是,当我们从D采样A和B时,它们保留了D的索引。

python pandas
4个回答
108
投票

我相信您可以使用append方法

bigdata = data1.append(data2, ignore_index=True)

保持索引只是不使用ignore_index关键字...


65
投票

您也可以使用pd.concat,当您连接两个以上数据框时,这特别有用:

bigdata = pd.concat([data1, data2], ignore_index=True, sort =False)

32
投票

如果有人觉得有用,请在此处添加。 @ostrokach已经提到了如何跨行合并数据帧,这是>

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

要跨列合并,可以使用以下语法:

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

9
投票

对于您正在使用大数据并且需要连接多个数据集的情况,还有另一种解决方案。 concat可能会提高性能,因此,如果您不想每次都创建新的df,则可以使用list comprehension

© www.soinside.com 2019 - 2024. All rights reserved.