gpt4 book ai didi

python - 连接两个不相等的数据框

转载 作者:行者123 更新时间:2023-11-30 22:39:01 24 4
gpt4 key购买 nike

我有两个长度不等的数据帧。第一个数据帧(df1)的 A 列具有唯一值,对应于同一数据帧中的 B 列和 C 列。第二个数据帧(df2)具有名为 A 列的列,该列具有 df1 的 A 列值的多次重复,并对应于 D 列和 E 列。我想在 A 列上将 df1 加入到 df2,这样它们就形成一个数据帧,并且 B 列和 C 列的值与 df1 中的值相对应。

Df1

column A. Column B

A. ab
B. bc
C. fg

Df2
Column A column D
A. 1
B. 2
C. 3
B. 4
A. 5
A. 6



Df1 + Df2

Column A column D column B
A. 1. ab
B. 2. bc
C. 3. fg
B. 4. bc
A. 5. ab
A. 6. ab

如何做到这一点?

最佳答案

您可以使用merge不带参数on,如果两个DataFrame中只有公共(public)列通过左连接连接列Column A:

print (DF1)
Column A Column B Column C
0 A. ab 1
1 B. bc 9
2 C. fg 7

print (DF2)
Column A column D column E
0 A. 1 8
1 B. 2 9
2 C. 3 7
3 B. 4 3
4 A. 5 1
5 A. 6 0
<小时/>
df = DF2.merge(DF1,how='left')
print (df)
Column A column D column E Column B Column C
0 A. 1 8 ab 1
1 B. 2 9 bc 9
2 C. 3 7 fg 7
3 B. 4 3 bc 9
4 A. 5 1 ab 1
5 A. 6 0 ab 1

如果多个相同的列添加on:

df = DF2.merge(DF1,how='left', on='Column A')
print (df)
Column A column D column E Column B Column C
0 A. 1 8 ab 1
1 B. 2 9 bc 9
2 C. 3 7 fg 7
3 B. 4 3 bc 9
4 A. 5 1 ab 1
5 A. 6 0 ab 1

关于python - 连接两个不相等的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43314859/

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