返回熊猫计数功能的数值

笑脸
print(test.query('code == ["A", "B", "C", "D", "E"]') [['code']].count())

这不会返回可以与>运算符(大于)进行比较的数值。我该如何改变?

这就是为什么if test.query('code == ["A", "B", "C", "D", "E"]') [['code']].count()>0:将显示错误消息的原因。

有人可以帮我吗?

耶斯列尔

我认为问题是您的代码返回一项Series,因为[[code]]-它返回一列DataFrame。

test = pd.DataFrame({
        'code':list('ABCDEF'),
})

print(test.query('code == ["A", "B", "C", "D", "E"]')[['code']])
  code
0    A
1    B
2    C
3    D
4    E

print(test.query('code == ["A", "B", "C", "D", "E"]') [['code']].count())
code    5
dtype: int64

对于标量更改['code']Series

print (test.query('code == ["A", "B", "C", "D", "E"]')['code'].count())
5

另一个想法是通过len以下方式获取DataFrame的长度

print (len(test.query('code == ["A", "B", "C", "D", "E"]')))
5

或使用Series.isin和计算Trues sum

print (test['code'].isin(["A", "B", "C", "D", "E"]).sum())
5

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章