首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于多种条件的熊猫NaNs数据投行

基于多种条件的熊猫NaNs数据投行
EN

Stack Overflow用户
提问于 2022-01-20 21:52:18
回答 1查看 127关注 0票数 0

我有一张有很多NaNs的数据。

y列表示事件的计数,val表示该列中每个事件的值,total表示两列的乘法。

许多列有零,许多列有NaNs,因为values不可用(多达80%的数据丢失)是4列。

代码语言:javascript
复制
y17 y18 y19 y20 val17 va18 val19 val20 total17 total18 total19 total20
 1   2   1   2    2    2     2    2       1      4        2      4
 2   2   2   2    2    2     2    2       4      4        4      4
 3   3   3   3   NaN  NaN   NaN  NaN     NaN    NaN      NaN    NaN
 0   0   0   0    1    2     3    4       0      0        0      0
 0   0   0   0   NaN  NaN   NaN  NaN     NaN    NaN      NaN    NaN

我希望保留所有值都为零和数字为行,并保留前四列(多个条件)具有零的行。

预期产出

代码语言:javascript
复制
y17 y18 y19 y20 val17 va18 val19 val20 total17 total18 total19 total20
 1   2   1   2    2    2     2    2       1      4        2      4
 2   2   2   2    2    2     2    2       4      4        4      4
 0   0   0   0    1    2     3    4       0      0        0      0
 0   0   0   0   NaN  NaN   NaN  NaN     NaN    NaN      NaN    NaN

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-20 21:55:53

只需使用all传递条件

代码语言:javascript
复制
out = df[df.iloc[:,:4].eq(0).all(1) | df.notna().all(1)]
Out[386]: 
   y17  y18  y19  y20  val17  ...  val20  total17  total18  total19  total20
0    1    2    1    2    2.0  ...    2.0      1.0      4.0      2.0      4.0
1    2    2    2    2    2.0  ...    2.0      4.0      4.0      4.0      4.0
3    0    0    0    0    1.0  ...    4.0      0.0      0.0      0.0      0.0
4    0    0    0    0    NaN  ...    NaN      NaN      NaN      NaN      NaN
[4 rows x 12 columns]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70793873

复制
相关文章

相似问题

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