加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 如何选择不仅包含NaN值和0的行

发布时间:2020-12-20 11:59:56 所属栏目:Python 来源:网络整理
导读:这是我的数据帧: cols = ['Country','Year','Orange','Apple','Plump']data = [['US',2008,17,29,19],['US',2009,11,12,16],2010,14,16,38],['Spain',None,33],19,17],['France',21],22,13],0],['Italy',None],15,2011,42,None]] 我想选择橙色苹果和丰满不
这是我的数据帧:

cols = ['Country','Year','Orange','Apple','Plump']

data = [['US',2008,17,29,19],['US',2009,11,12,16],2010,14,16,38],['Spain',None,33],19,17],['France',21],22,13],0],['Italy',None],15,2011,42,None]]

我想选择橙色苹果和丰满不仅仅由“无”组成的行,只有0或混合它们.所以结果输出应该是:

Country  Year  Orange  Apple  Plump  
0       US  2008    17.0   29.0   19.0  
1       US  2009    11.0   12.0   16.0  
2       US  2010    14.0   16.0   38.0  
3    Spain  2008    11.0    NaN   33.0  
4    Spain  2009    12.0   19.0   17.0  
5   France  2008    17.0   19.0   21.0 
6   France  2009    19.0   22.0   13.0  
7   France  2010    12.0   11.0    0.0  
10   Italy  2010    15.0   16.0   17.0  
12   Italy  2011    42.0    NaN    NaN

其次,我想放弃我三年没有观察到的国家.因此产生的产出应该只包括我们和法国.我怎么能得到它们?
我尝试过类似的东西:

df = df[(df['Orange'].notnull())| 
            (df['Apple'].notnull()) | (df['Plump'].notnull()) | (df['Orange'] != 0 )| (df['Apple']!= 0) | (df['Plump']!= 0)]

我也尝试过:

df = df[((df['Orange'].notnull())| 
                (df['Apple'].notnull()) | (df['Plump'].notnull())) & ((df['Orange'] != 0 )| (df['Apple']!= 0) | (df['Plump']!= 0))]

解决方法

In [307]: df[~df[['Orange','Plump']].fillna(0).eq(0).all(1)]
Out[307]:
   Country  Year  Orange  Apple  Plump
0       US  2008    17.0   29.0   19.0
1       US  2009    11.0   12.0   16.0
2       US  2010    14.0   16.0   38.0
3    Spain  2008    11.0    NaN   33.0
4    Spain  2009    12.0   19.0   17.0
5   France  2008    17.0   19.0   21.0
6   France  2009    19.0   22.0   13.0
7   France  2010    12.0   11.0    0.0
10   Italy  2010    15.0   16.0   17.0
12   Italy  2011    42.0    NaN    NaN

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读