首页 文章

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

提问于
浏览
-1

当我运行以下代码时:

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

它给出了这个错误:

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

这有什么不对?

1 回答

  • 0

    该问题告诉您,您的操作返回的 Series 不包含内在真值 . 事实上,操作总会返回一些东西,你必须选择你真正想要的东西:

    • 如果返回值的 any 为真,则表示 df 中存在 ['12','09'] 中的元素

    • 如果 all 返回值为true,则表示 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

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

相关问题