gpt4 book ai didi

python - 满足条件时如何更改数据框中的单个值?

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

据我所知,我当前更改 pandas 数据框中值的方法远非最佳,并且确实损害了我的工作流程。

示例:我想检查是否在另一个数据框中找到了某个名称,如果是,则使用第一个数据框中搜索到的名称的 iloc 将此数据框中的值放入其中:

for idx in id_list_of_names:    
name = df["name"].iloc[idx]
if name in df_two["name"].values:
df["value"].iloc[idx] = df_two["value"][df_two["name"]==name].values

数据帧 1,df:

id | name | value
1 | "David" | 0
2 | "Lisa" | 0
...............

数据框 2,df_two:

id | name | value
1 | "Kevin" | 10
.................
255 | "David" | 22
.................

我想要做的是将 David 的 df_two 值 (value = 22) 放入 Dataframe 1 中 David 的 iloc 处(df["value"].iloc[1] == 22)。如果 df_two 中存在相应的名称,则 df 中的所有名称都应该发生这种情况。

merge() 是我通常的解决方案,但由于列 value 已经存在,如果我在这种情况下使用merge

最佳答案

为什么不合并 Name 上的 2 个数据框,然后应用自定义函数来创建一个在 valuevalue_1< 之间进行选择的列 final_value/

关于python - 满足条件时如何更改数据框中的单个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56054994/

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