gpt4 book ai didi

python - 如何根据特定列连接两个数据框?

转载 作者:太空宇宙 更新时间:2023-11-03 14:30:25 26 4
gpt4 key购买 nike

有 2 个数据框具有不同的列。我正在尝试根据前 3 列将它们连接起来。

   a b c X
1 H A 8 1
2 M D 3 2
3 H A 9 3
4 L C 9 4

a b c Y
1 H A 8 4
2 M D 3 3
3 H A 9 2
4 L C 9 2

这是预期的结果:

   a b c X Y
1 H A 8 1 4
2 M D 3 2 3
3 H A 9 3 2
4 L C 9 4 2

我找不到有效的方法来连接它们!!

最佳答案

我认为merge应该工作得很好:

df = pd.merge(df1, df2, on=['a','b','c'])

如果需要动态使用前 3 列:

print (df1.columns[:3].tolist())
['a', 'b', 'c']

df = pd.merge(df1, df2, on=df1.columns[:3].tolist())
<小时/>
print (df)
a b c X Y
0 H A 8 1 4
1 M D 3 2 3
2 H A 9 3 2
3 L C 9 4 2

但是如果可能的话,两个 DataFrame 中的前 3 列都不同,需要将它们连接起来:

cols = df1.columns[:3].tolist()
df2 = df2.rename(columns=dict(zip(df2.columns[:3], cols)))
df = pd.merge(df1, df2, on=cols)

关于python - 如何根据特定列连接两个数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47346542/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com