【发布时间】:2019-03-02 06:00:39
【问题描述】:
我想根据多列条件重新分配值,但出现了ValueError。我使用& 而不是and,这通常是解决此类错误的答案。我的目标和代码如下:
ValueError: The truth value of a DataFrame is ambiguous.
Use a.empty, a.bool(), a.item(), a.any() or a.all().
如果CountryBorn == Canada 和YearsInCanada == None,我想重新编码YearsInCanada == Age
df
Age CountryBorn YearsInCanada
87 NaN 77
67 Canada 67
29 US 7
26 US 10
22 US 12
35 Canada NaN
45 Canada NaN
expected output
Age CountryBorn YearsInCanada
87 NaN 77
67 Canada 67
29 US 7
26 US 10
22 US 12
35 Canada 35
45 Canada 45
我的以下代码显示ValueError
if df.loc[(df['YearsInCanada'] == None) & (df['CountryBorn'] == 'Canada')]:
df['YearsInCanada'] == df['Age']
else:
df['YearsInCanada'] == df['YearsInCanada']
谢谢
【问题讨论】:
-
为什么最后一个值是 35?不应该是45吗?
-
@anky_91 感谢指出,错字。
标签: python pandas valueerror