【发布时间】:2018-08-31 04:40:50
【问题描述】:
我有一个 12 列的数据框,其中一列只是布尔值;显示是否满足给定条件(取决于其他列)。该列称为“常态”。仅当之前的行和之后的行为 True 时,我才尝试删除 False 值的行。
for s in range((dfm['normality'].count())):
if dfm.loc[[s],('normality')] == False:
if ((dfm.loc[[s+1],('normality')]) == True) & ((dfm.loc[[s-1],('normality')]) == True):
dfm=dfm.drop(dfm.index[s])
else:
;
我曾尝试使用此代码,但我不断收到错误:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
在第 7 行(第一个 if 语句)。
任何帮助将不胜感激,谢谢。
【问题讨论】:
-
您能分享一下您的数据是什么样的吗?
-
您将 pandas 系列传递给
if语句,因此它试图评估数组的真值,这是不明确的
标签: python python-3.x if-statement boolean valueerror