当我运行以下代码时:
if df.loc[df['state_code'].isin(['12','09'])]:
它给出了这个错误:
ValueError:系列的真值是不明确的 . 使用a.empty,a.bool(),a.item(),a.any()或a.all()
这有什么不对?
该问题告诉您,您的操作返回的 Series 不包含内在真值 . 事实上,操作总会返回一些东西,你必须选择你真正想要的东西:
Series
如果返回值的 any 为真,则表示 df 中存在 ['12','09'] 中的元素
df
['12','09']
如果 all 返回值为true,则表示 df 中的所有元素都在 ['12','09'] 中
如果返回的 Series 包含任何元素,意味着不是 empty
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
要获得更多帮助,请提供代码的最小工作示例
1 回答
该问题告诉您,您的操作返回的
Series
不包含内在真值 . 事实上,操作总会返回一些东西,你必须选择你真正想要的东西:如果返回值的 any 为真,则表示
df
中存在['12','09']
中的元素如果 all 返回值为true,则表示
df
中的所有元素都在['12','09']
中如果返回的
Series
包含任何元素,意味着不是empty
所以:
要么
要么
看看documentation
要获得更多帮助,请提供代码的最小工作示例