Hubans 2020-06-15 13:36 采纳率: 100%
浏览 1203
已采纳

数据显示是NaN,却不能通过判断是否是nan来选中

数据在数据框中显示为NaN,输出结果也是nan,却无法根据is np.nan选中。

input:data.iloc[1,:].mission_complete
output: nan
input: data.iloc[1,:].mission_complete == np.nan
output: False
input: data.iloc[1,:].mission_complete is np.nan
output:False
input: data.iloc[1,:].mission_complete == 'nan'
output: False

图片说明
我想要做的是,能够根据根据是否是NaN值来筛选:

data['if_mission_complete'] = data.apply(lambda x: 0 if x['mission_complete'] is np.nan or x['mission_complete'] >= 0.9 else 1, axis=1)

但是因为选中nan的值为False导致输出结果不正确。

  • 写回答

1条回答 默认 最新

  • 一个纠结的天蝎座 2020-06-15 15:28
    关注

    采用np.isnan()方法

    In [3]: import pandas as pd  
    
    In [4]: import numpy as np   
    
    In [5]: a_df = pd.DataFrame([[1, 3, np.nan], [3, 4, 5]]) 
    
    In [6]: a_df  
    Out[6]: 
       0  1    2
    0  1  3  NaN
    1  3  4  5.0
    
    In [7]: a_df.iloc[0, 2]  
    Out[7]: nan
    
    In [8]: np.isnan(a_df.iloc[0,2])   
    Out[8]: True
    
    In [9]: a_df.iloc[0, 1]
    Out[9]: 3
    
    In [10]: np.isnan(a_df.iloc[0,1])
    Out[10]: False
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入