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
和计算True
s sum
:
print (test['code'].isin(["A", "B", "C", "D", "E"]).sum())
5
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句