gpt4 book ai didi

python - 如何使用键在python数据框中查找值并将其与另一个df中的另一个值与另一个键相加

转载 作者:行者123 更新时间:2023-11-28 16:29:08 25 4
gpt4 key购买 nike

我有以下数据:

import pandas as pd

df1 = pd.DataFrame({'ISIN': ['A1', 'B2', 'C3', 'D4']})
df1['%'] = 0.5
print(df1)
ISIN %
0 A1 0.5
1 B2 0.5
2 C3 0.5
3 D4 0.5

df2 = pd.DataFrame({'ISIN': ['C3', 'D4', 'E5', 'F6']})
df2['%'] = 0.2
print(df2)
ISIN %
0 C3 0.2
1 D4 0.2
2 E5 0.2
3 F6 0.2

我希望 key (ISIN) 检查它们在两个数据帧中是否匹配,如果匹配则将 df2 中的 % 添加到 df1。因此,所需的输出将是:

print(df1)
ISIN %
0 A1 0.5
1 B2 0.5
2 C3 0.7
3 D4 0.7

我尝试了以下代码,但 python 似乎不喜欢 For 循环,因为有两个数据帧。没有错误,只是求和没有发生:

for row in df1['ISIN']:
if df1['ISIN'].isin(df2['ISIN']) is True:
df1.loc[row, '%'] = df1.loc[row, '%']+df2.loc[row,'%']

最佳答案

你可以使用 map 来做到这一点:

In [32]:
df1['%'] = (df1['%'] + df1['ISIN'].map(df2.set_index('ISIN')['%'])).fillna(df1['%'])
df1

Out[32]:
ISIN %
0 A1 0.5
1 B2 0.5
2 C3 0.7
3 D4 0.7

关于python - 如何使用键在python数据框中查找值并将其与另一个df中的另一个值与另一个键相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33830061/

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