【发布时间】:2020-03-25 06:41:17
【问题描述】:
我在 pandas 数据框中有一列数据,其中包含百分比,例如 5.76%、4.2% 或 2.34%,以及单词 Free。我想为每个具有 0 免费的列创建另一列,并将百分比转换为整数/分数,例如 0.0576、0.042 和 0.0234。
我创建了以下函数:
def ad_val_rate(data):
if data['2021'] == 'Free':
return 0
else:
return data['2021'].str.rstrip('%').astype('float') / 100.0
当我使用这个函数时,我得到以下错误:ValueError:一个系列的真值是不明确的。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。其他类似的 stackoverflow 问题似乎表明问题是由多个条件引起的,但我只使用一种条件。
数据如下所示:
【问题讨论】:
-
请提供重新创建此错误所需的其他信息。
-
欢迎来到 Stack Overflow。
data是什么?你在使用像numpy或pandas这样的非标准库吗?请阅读How to Ask。 -
请提供您正在使用的数据的示例。根据您的描述,不清楚数据是什么样的。
标签: python if-statement valueerror ambiguous