首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫-将所有0行放在至少两列中。

熊猫-将所有0行放在至少两列中。
EN

Stack Overflow用户
提问于 2020-01-14 03:38:51
回答 1查看 303关注 0票数 2

我有一些DataFrame:

代码语言:javascript
复制
df = pd.DataFrame({'name': ['apple1', 'apple2', 'apple3', 'apple4', 'orange1', 'orange2', 'orange3', 'orange4'], 
                   'A': [0, 0, 0, 0, 0, 0 ,0, 0], 
                  'B': [0.10, -0.15, 0.25, -0.55, 0.50, -0.51, 0.70, 0], 
                  'C': [0, 0, 0.25, -0.55, 0.50, -0.51, 0.70, 0.90],
                  'D': [0.10, -0.15, 0.25, 0, 0.50, -0.51, 0.70, 0.90]})
df
    name    A   B   C   D
0   apple1  0   0.10    0.00    0.10
1   apple2  0   -0.15   0.00    -0.15
2   apple3  0   0.25    0.25    0.25
3   apple4  0   -0.55   -0.55   0.00
4   orange1 0   0.50    0.50    0.50
5   orange2 0   -0.51   -0.51   -0.51
6   orange3 0   0.70    0.70    0.70
7   orange4 0   0.00    0.90    0.90

我希望删除列中有两个或多个零的所有行。

这个DataFrame有其他列有零;DataFrame只想检查列中的零。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-14 03:40:44

您可以使用.eq检查dataframe是否等于0,然后在axis=1上取sum,并通过检查和是否大于或等于2(ge)返回布尔级数:

代码语言:javascript
复制
df[~df[['A','B','C','D']].eq(0).sum(1).ge(2)]

代码语言:javascript
复制
    name    A   B   C   D
2   apple3  0   0.25    0.25    0.25
4   orange1 0   0.50    0.50    0.50
5   orange2 0   -0.51   -0.51   -0.51
6   orange3 0   0.70    0.70    0.70
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59727229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档