设为首页收藏本站
天天打卡

 找回密码
 立即注册
搜索
查看: 110|回复: 9

pandas缺失值np.nan, np.isnan, None, pd.isnull, pd.

[复制链接]

4

主题

61

回帖

211

积分

中级会员

积分
211
发表于 2024-4-19 20:14:45 | 显示全部楼层 |阅读模式
目录

np.nan != np.nan
在计算机中本没有绝对绝对相等的数据,所谓的相等只是精度允许的条件下相等!np.nan 原意为 not a number。
概括:

  • 对某个值是否为nan进行判断,只能用np.isnan(i),绝不可用 i == np.nan 来判断,因为nan具有不等于自身的属性,应该使用np.isnan来测试nan值,如np.isnan(np.nan)将产生True;
  • np.nan非空对象,其类型为基本数据类型float;

np.nan

np.nannot a membernan的含义是“not a number“,它是对array中缺失的数值的占位符type 为 float因为代表缺失的数值,np.nan的type是float可参与计算np.nan的type是float,所以np.nan可参与计算,且占主导地位,也就是算出的值都为np.nan不等于自身如果用np.nan==np.nan,会发现返回的结果为False,如果用np.nan in array,也不能发现array中是否包含np.nannp.isnan判断是否存在np.nannp.nan因为没有等于的概念,所以要判断是否存在np.nan,只可以用np.isnan来判断np.isnan只可以判断数值型如果用np.isnan对其余type的array判断,会报错,np.isnan只可以判断数字型array忽略np.nan的numpy计算nansum()nanmax()nanmin()nanargmax()nanargmin()nan和None

  • python自带的 None ,为 NoneType 类型, 代表空类型,不能参与运算
  • numpy中的 isnan 对应的是 NaN 值,代表“不是数字”,数值类型为 float ,数组中显示为nan,能参与运算,但结果显示为NaN;

None

NoneNoneTypeNone的type为NoneType,是python内置的不可参与计算None不可参与计算,否则报错None is None 或者 None==None这两种方式返回值都是True
pd.isnull 和 pd.isna

pd.isnull pd.isnapd.isnull 和 pd.isna是同一个东西用命令pd.isnull==pd.isna,会发现返回值为TrueNone和np.nan在pandas中都是缺省值None和np.nan都会被pd.isnull或者pd.isna判断为True可以判断List或者单独一个值pd.isnull和pd.isna的判断对象可以为一个值或者一个listpandas中缺省值不参与计算当使用df.min()等计算时,会发现缺省值不参与计算
代码示例

只可以用np.isnan判断array中是否包含np.nan
  1. a = np.array([1,2,3,4,np.nan])
  2. a == np.nan
  3. >>> array([False, False, False, False, False])
  4. np.nan in a
  5. >>> False
  6. np.isnan(a)
  7. >>> array([False, False, False, False,  True])
复制代码
np.nan可参与计算,np.nan占主导地位
  1. a = np.array([1,2,3,4,np.nan])
  2. a.max()
  3. >>> np.nan
  4. a.min()
  5. >>> np.nan
  6. b = np.array([1,np.nan,3,4,5])
  7. a+b
  8. >>> array([ 2., nan,  6.,  8., nan])
复制代码
np.isnan只可以对数值型array判断,当array中其余的元素为字符串是,array会将np.nan转换成’nan’

在pandas中,np.nan和None都被视为缺省值
  1. df = pd.DataFrame({'col1':['a','b','c','d'], 'col2':[1,2,3,4]})
  2. df.loc[1,'col1'] = np.nan
  3. df.loc[2,'col1'] = None
  4. df
  5. >>> col1        col2
  6. 0        a        1
  7. 1        NaN        2
  8. 2        None        3
  9. 3        d        4

  10. pd.isna(df)
  11. >>>        col1        col2
  12. 0        False        False
  13. 1        True        False
  14. 2        True        False
  15. 3        False        False
复制代码
pandas中缺省值不参与计算
  1. df = pd.DataFrame(np.arange(8).reshape(2,4))
  2. df.iloc[0,1] = None
  3. df.iloc[0,2] = np.nan
  4. df
  5. >>> 0        1        2        3
  6. 0        0        NaN        NaN        3
  7. 1        4        5.0        6.0        7

  8. df.min(axis=1)
  9. >>> 0    0.0
  10. 1    4.0
  11. dtype: float64
复制代码
到此这篇关于pandas缺失值np.nan, np.isnan, None, pd.isnull, pd.isna的文章就介绍到这了,更多相关 np.nan, np.isnan, None, pd.isnull, pd.isna内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

0

主题

39

回帖

75

积分

注册会员

积分
75
发表于 2024-4-24 20:02:37 | 显示全部楼层
我不太确定,可能需要再确认一下。

0

主题

78

回帖

157

积分

注册会员

积分
157
发表于 2024-6-17 18:09:24 | 显示全部楼层
每日一回

3

主题

62

回帖

192

积分

注册会员

积分
192
发表于 2024-6-21 17:36:52 | 显示全部楼层
顶一个,观点非常中肯!
  • 打卡等级:无名新人
  • 打卡总天数:1
  • 打卡月天数:0
  • 打卡总奖励:22
  • 最近打卡:2024-05-10 17:32:31

2

主题

44

回帖

156

积分

注册会员

积分
156
发表于 2024-7-1 17:37:49 | 显示全部楼层
同意你的观点,我们有共鸣。

1

主题

49

回帖

121

积分

注册会员

积分
121
发表于 2024-8-3 19:11:28 | 显示全部楼层
同意你的观点,我们有共鸣。
  • 打卡等级:偶尔看看
  • 打卡总天数:13
  • 打卡月天数:0
  • 打卡总奖励:946
  • 最近打卡:2024-06-16 23:50:00

1

主题

216

回帖

2720

积分

金牌会员

积分
2720

活跃会员热心会员推广达人宣传达人灌水之王付费会员

发表于 2024-9-9 00:15:07 | 显示全部楼层
你的信息来源是?我想了解更多。

4

主题

55

回帖

160

积分

注册会员

积分
160
发表于 2024-10-7 19:23:35 | 显示全部楼层
保持尊重和礼貌对待其他成员是必要的。
  • 打卡等级:无名新人
  • 打卡总天数:2
  • 打卡月天数:0
  • 打卡总奖励:37
  • 最近打卡:2024-08-26 11:29:38

2

主题

51

回帖

184

积分

注册会员

积分
184
发表于 2024-10-20 07:10:47 | 显示全部楼层
已测试,非常不错

1

主题

67

回帖

142

积分

注册会员

积分
142
发表于 7 天前 | 显示全部楼层
能给个链接吗?我想深入了解一下。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|爱云论坛 - d.taiji888.cn - 技术学习 免费资源分享 ( 蜀ICP备2022010826号 )|天天打卡

GMT+8, 2024-11-24 09:12 , Processed in 0.105129 second(s), 29 queries .

Powered by i云网络 Licensed

© 2023-2028 正版授权

快速回复 返回顶部 返回列表