栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过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)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/626421.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号