Cant delete rows in a dataframe python 3 . Value error: truth value ambiguous
Cant delete rows in a dataframe python 3 . Value error: truth value ambiguous
我有一个 12 列的数据框,其中一列只是布尔值;显示给定条件(取决于其他列)是否满足。该列称为 "normality"。仅当前一行和后一行为 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 语句)。
如有任何帮助,我们将不胜感激。
那是因为您的行索引器是一个列表:if dfm.loc[[s],('normality')] == False:
。
您应该在没有列表的情况下建立索引:if dfm.loc[s,'normality'] == False:
我有一个 12 列的数据框,其中一列只是布尔值;显示给定条件(取决于其他列)是否满足。该列称为 "normality"。仅当前一行和后一行为 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 语句)。
如有任何帮助,我们将不胜感激。
那是因为您的行索引器是一个列表:if dfm.loc[[s],('normality')] == False:
。
您应该在没有列表的情况下建立索引:if dfm.loc[s,'normality'] == False: