我在 Pandas 中有以下数据框:
>>>name food beverage age
0 Ruth Burger Cola 23
1 Dina Pasta water 19
2 Joel Tuna water 28
3 Daniel null soda 30
4 Tomas null cola 10
我想说的是,如果“食物”列中的值为空,则年龄和饮料将变为“”(也为空白),我为此编写了以下代码:
if df[(df['food'].isna())]:
df['beverage']=' '
df['age']=' '
但我不断收到错误:ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
我在[[但没有帮助,我做错了什么吗?
最佳答案
尝试mask
df[['beverage','age']] = df[['beverage','age']].mask(df['food'].isna(),'')
df
Out[86]:
name food beverage age
0 Ruth Burger Cola 23
1 Dina Pasta water 19
2 Joel Tuna water 28
3 Daniel NaN
4 Tomas NaN
关于python - 如果一行中的一个单元格为空,则更改数据帧中的特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63872530/