当前位置: 首页 > 知识库问答 >
问题:

Python值错误:序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all()

姬弘文
2023-03-14

当我运行以下代码时:

if df.loc[df['state_code'].isin(['12','09'])]:

它给出了以下错误:

ValueError:序列的真值不明确。
使用a.empty、a.bool()、a.item()、a.any()或a.all()

这里怎么了?

共有1个答案

西门品
2023-03-14

该问题告诉您,您的操作返回的序列不包含内在真值。实际上,操作总是会返回一些东西,您必须选择您真正想要的:

  • 如果任何返回的值为true,意味着df中存在一个元素,该元素位于['12','09']
  • 如果所有返回的值都是true,意味着df中的所有元素都在['12','09']
  • 如果返回的Series包含任何元素,意味着不是

因此:

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():

看看留档

要获得更多帮助,请提供一个代码的最小工作示例

 类似资料: