通过Pandas DataFrame计数每行零个数?

通过Pandas DataFrame计数每行零个数?,第1张

通过Pandas DataFrame计数每行零个数?

使用布尔比较将产生一个布尔df,然后我们可以将其强制转换为int,True变为1,False变为0,然后调用

count
并传递param
axis=1
以逐行计数:

In [56]:df = pd.Dataframe({'a':[1,0,0,1,3], 'b':[0,0,1,0,1], 'c':[0,0,0,0,0]})dfOut[56]:   a  b  c0  1  0  01  0  0  02  0  1  03  1  0  04  3  1  0In [64]:(df == 0).astype(int).sum(axis=1)Out[64]:0    21    32    23    24    1dtype: int64

分解以上内容:

In [65]:(df == 0)Out[65]:       a      b     c0  False   True  True1   True   True  True2   True  False  True3  False   True  True4  False  False  TrueIn [66]:(df == 0).astype(int)Out[66]:   a  b  c0  0  1  11  1  1  12  1  0  13  0  1  14  0  0  1

编辑

大卫指出,

astype
to
int
是不必要的,因为在调用时
Boolean
将向上转换类型
int
sum
因此简化为:

(df == 0).sum(axis=1)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5632306.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存