pandas 系列上的 .all() 不是 return 预期的行为

.all() on pandas series not return expected behavior

我有一个名为 df_output 的数据框,就像这样

index  col1
0    | ''
1    | ''
2    | ''
3    | ''
4    | ''

如果我 运行 df_output['col1'].values.all() == '' 我的 return 值是 true。但是,如果我编辑数据框,它看起来像这样

index  col1
0    | '324'
1    | ''
2    | ''
3    | ''
4    | ''

和 运行 df_output['col1'].values.all() == '' 我仍然得到 return 值 true。这行 return 不应该为假,因为 col1 索引 0 处的值是“324”吗?还是我误解了 .all() 在系列中的工作方式。

df_output['col1'] == '324' 会给你一个 per-row'342' 的比较,得到一系列 True/False。然后你 reduce 那些 True/False 与 (df_output['col1'] == '324').all() 合二为一,这对于你的两个示例数据帧都是 False 。但是,(df_output['col1'] == '').all() 应该为您的第一个数据帧提供 True。