python - ValueError:在检查布尔列值时,Series 的真值不明确
问题描述
我的数据框包含一个带有布尔值的列,即 0 或 1。我正在尝试检查它是否为 0,然后将计数器递增为count_0
else 递增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_0
或count_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().
解决方案
最简单的方法是总结列:
count_1 = sum(df1['Project_is_approved'])
count_0 = len(df1['Project_is_approved']) - count_1
这适用于正确的布尔值True
和False
整数值:0
和1
推荐阅读
- sql - 需要从存储在 Oracle 11g 中的 CLOB 中的 JSON 中获取值
- c++ - 如何处理元组中的元素
- javascript - 如何在库组件中禁用自定义事件?
- git - 如何在 psiphon vpn 中使用 git
- ruby-on-rails - 自定义电子邮件唯一验证不适用于设计
- r - Theme(position.legend="none") 不适用于 coord_flip()
- excel - 不运行循环
- docker - 无法将 jenkins 卷挂载到 Windows 文件夹。挂载主机目录时容器中的空文件夹
- ruby - 解析 bpftrace 输出数据
- octobercms - 如何为 OctoberCms 中的所有后端字段设置默认日期格式?