gpt4 book ai didi

Python-根据另一个数据帧匹配替换数据帧中的值

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

假设我有 2 个名为 A 和 B 的 Python 数据框,如下所示。如何根据 B 中列 ID 和月份的匹配替换数据框 A 中的列值?有什么想法吗?

谢谢

数据框A:

ID  Month   City    Brand   Value
1 1 London Unilever 100
1 2 London Unilever 120
1 3 London Unilever 150
1 4 London Unilever 140
2 1 NY JP Morgan 90
2 2 NY JP Morgan 105
2 3 NY JP Morgan 100
2 4 NY JP Morgan 140
3 1 Paris Loreal 60
3 2 Paris Loreal 75
3 3 Paris Loreal 65
3 4 Paris Loreal 80
4 1 Tokyo Sony 100
4 2 Tokyo Sony 90
4 3 Tokyo Sony 85
4 4 Tokyo Sony 80

数据框B:

ID  Month   Value
2 1 100
3 3 80

最佳答案

使用merge使用左连接并用原始值替换缺失值 fillna :

df = df1.merge(df2, on=['ID', 'Month'], how='left', suffixes=('_',''))
df['Value'] = df['Value'].fillna(df['Value_']).astype(int)
df = df.drop('Value_', axis=1)
print (df)
ID Month City Brand Value
0 1 1 London Unilever 100
1 1 2 London Unilever 120
2 1 3 London Unilever 150
3 1 4 London Unilever 140
4 2 1 NY JP Morgan 100
5 2 2 NY JP Morgan 105
6 2 3 NY JP Morgan 100
7 2 4 NY JP Morgan 140
8 3 1 Paris Loreal 60
9 3 2 Paris Loreal 75
10 3 3 Paris Loreal 80
11 3 4 Paris Loreal 80
12 4 1 Tokyo Sony 100
13 4 2 Tokyo Sony 90
14 4 3 Tokyo Sony 85
15 4 4 Tokyo Sony 80

关于Python-根据另一个数据帧匹配替换数据帧中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52872582/

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