gpt4 book ai didi

python - Pandas 数据框根据嵌套 if 条件设置列值

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

我的数据框中有 4 列,希望根据以下条件更改第 2 列中的所有值:

if pd.isnull(df['COL2']) or df['COL2'] == "SOME_NAME":
if pd.isnull(df['COL3']) == False:
df['COL2'] = df['COL3']
else:
df['COL2'] = "DEFAULT"

所以基本上如果 col2 为空或有某个特定名称,则将其替换为 col3 如果 col3 不为空,否则替换为默认值

我迭代了 df 但匹配并未替换所有值。我有一些行的 col2 值仍设置为“SOME_NAME”。有没有简单的方法可以做到这一点?

最佳答案

使用 loc 进行赋值,仅更改满足条件的行。

i = df['COL2'].isnull() | df['COL2'].eq('SOME_NAME')
j = df.loc[i, 'COL3']

df.loc[i, 'COL2'] = j.where(j.notnull(), 'DEFAULT')

关于python - Pandas 数据框根据嵌套 if 条件设置列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48628005/

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