返回熊猫计数功能的数值

时间:2020-02-24 07:49:49

标签: python pandas

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

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

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

有人可以帮我吗?

1 个答案:

答案 0 :(得分:2)

我认为问题在于您的代码返回一项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']的{​​{1}}:

Series

另一个想法是通过print (test.query('code == ["A", "B", "C", "D", "E"]')['code'].count()) 5 获取DataFrame的长度:

len

或者使用Series.isin并按print (len(test.query('code == ["A", "B", "C", "D", "E"]'))) 5 计数True

sum