【发布时间】:2018-04-18 00:45:01
【问题描述】:
所以我有一个包含 float64 类型列和一个包含字符串的对象类型列的数据框。
如果对象列包含子字符串“abc”,我想从浮点列中减去 12。如果对象列包含子字符串“def”,我想从浮点列中减去 24。如果对象列既不包含“abc”也不包含“def”,我想保留浮动列。
例子:
Nmbr Strng
52 abcghi
80 defghi
10 ghijkl
预期输出:
Nmbr Strng
40 abcghi
56 defghi
10 ghijkl
我尝试了以下方法,但一直收到错误:
if df.Strng.str.contains("abc"):
df.Nmbr = (df.Nmbr - 12)
elif df.Strng.str.contains("def"):
df.Nmbr = (df.Nmbr - 24)
else:
df.Nmbr = df.Nmbr
我得到的错误如下:
915 raise ValueError("The truth value of a {0} is ambiguous. "
916 "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
917 .format(self.__class__.__name__))
918
919 __bool__ = __nonzero__
ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
注意:第 917 行是突出显示为错误的行。
【问题讨论】:
-
什么样的错误?
-
请在您的帖子中包含错误。
-
道歉 - 原始帖子已被编辑以包含错误消息。