首页 > 解决方案 > ValueError:在检查布尔列值时,Series 的真值不明确

问题描述

我的数据框包含一个带有布尔值的列,即 0 或 1。我正在尝试检查它是否为 0,然后将计数器递增为count_0else 递增count_1

if(df1['Project_is_approved']==0):
    count_0 = count_0 + 1;
if(df1['Project_is_approved']==1):
    count_1 = count_1 + 1;

要么count_0count_1应该增加。相反,我遇到了错误,

if(df1['Project_is_approved']==0):

错误:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

标签: pythonpython-3.xpandas

解决方案


最简单的方法是总结列:

count_1 = sum(df1['Project_is_approved'])
count_0 = len(df1['Project_is_approved']) - count_1

这适用于正确的布尔值TrueFalse整数值:01


推荐阅读