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

时间:2018-08-17 14:33:30

标签: python pandas

当我运行以下代码时:

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

出现此错误:

  

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

这是怎么了?

1 个答案:

答案 0 :(得分:0)

该问题告诉您操作返回的Series没有内在的真值。确实,该操作将始终返回某些内容,而您必须选择实际想要的内容:

  • 如果返回的值 any 为true,则意味着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():

签出documentation

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