python - Python ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()
问题描述
当我运行以下代码时:
if df.loc[df['state_code'].isin(['12','09'])]:
它给出了这个错误:
ValueError:Series 的真值不明确。
使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()
这里有什么问题?
解决方案
该问题告诉您,Series
您的操作返回的值不具有内在真实值。事实上,该操作总会返回一些东西,你必须选择你真正想要的:
- 如果任何返回值为真,则表示存在一个元素,
df
其中['12','09']
- 如果所有返回值都为真,则表示其中的所有元素
df
都在['12','09']
- 如果返回
Series
包含任何元素,意味着不empty
所以:
if not df.loc[df['state_code'].isin(['12','09'])].empty:
或者
if df.loc[df['state_code'].isin(['12','09'])].any():
或者
if df.loc[df['state_code'].isin(['12','09'])].all():
查看文档
如需更多帮助,请提供代码的最小工作示例
推荐阅读
- java - 如何将 mySQL 与 jbpm 7.8.0 连接
- android - 我如何将 IntentService 转换为即使在应用程序被杀死后也应该运行的后台服务
- excel - 将时间差异与文本嵌入单元格进行比较
- ruby - 使用 Capistrano 激活 Virtualenv Wrapper
- css - 如何在 drupal 7 中禁用链接?
- php - Laravel - 使用两个都具有用户 ID 的表检索用户名
- cobol - 关于从 HEAP 分配 WORKING-STORAGE 的 COBOL 存储问题
- android - 如何在离子文本字段中设置前缀值
? - c# - 数据表行被覆盖
- java - 值注释在 Junit 测试中不起作用