gpt4 book ai didi

python - 如何根据键从其他数据帧中提取值并将其设置为当前数据帧

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

我有这两列

df1 = pd.DataFrame([['A','h1',None],['B','h2',None],['C','h3',None]],columns=['id','HH','VV'])

id HH VV
0 A h1 None
1 B h2 None
2 C h3 None

df2 = pd.DataFrame([['A','XX',10],['B','XX',15],['B','YY',15],['A','ZZ',10],['C','GG',28]],columns=['id','NO','VV'])
id NO VV
0 A XX 10
1 B XX 15
2 B YY 15
3 A ZZ 10
4 C GG 28

在df2中,如果它们具有相同的id,'VV'的值是相同的,

我想设置df1的VV值,根据df1的id值搜索到df2,答案如下

  id  HH    VV
0 A h1 10
1 B h2 15
2 C h3 28

我想我应该使用

keys = ['id']
df1.assign(VV=df1[keys].join(df2.set_index(keys).VV, on=keys).VV)

但如果 id 在 df2 中是唯一的,它就可以工作

最佳答案

您可以通过 drop_duplicates 删除重复项首先按中的列:

keys = ['id']
a = df1.assign(VV=df1[keys].join(df2.drop_duplicates(keys).set_index(keys).VV, on=keys).VV)
print (a)
id HH VV
0 A h1 10
1 B h2 15
2 C h3 28

关于python - 如何根据键从其他数据帧中提取值并将其设置为当前数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47226351/

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