为了账号安全,请及时绑定邮箱和手机立即绑定

NaN和None之间有什么区别?

NaN和None之间有什么区别?

慕神8447489 2019-07-30 15:04:23
NaN和None之间有什么区别?我正在使用pandas读取csv文件的两列,readcsv()然后将值分配给字典。列包含数字和字母的字符串。偶尔会出现一个单元格为空的情况。在我看来,读取该字典条目的值应该是None,而是nan分配。当然,None它更具描述性,因为它具有空值,而nan只是说读取的值不是数字。我的理解是否正确,None和之间的区别是nan什么?为什么nan分配而不是None?此外,我的字典检查任何空单元格一直在使用numpy.isnan():for k, v in my_dict.iteritems():     if np.isnan(v):但是这给了我一个错误,说我不能使用这个检查v。我想这是因为要使用整数或浮点变量,而不是字符串。如果是这样,我该如何检查v“空单元格”/ nan案例?
查看完整描述

3 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

NaN可以用作数学运算的数值,而None不能(或至少不应该)。

NaN是一个数值,如IEEE 754浮点标准中所定义。 None是一个内部Python tipe(NoneType),在这种情况下更像是“不存在”或“空”而不是“数字无效”。

其中的主要“症状”是,如果你对包含NaN的数组执行平均值或求和,即使是单个数组,也会得到NaN作为结果......

另一方面,您不能使用None操作数执行数学运算。

因此,根据具体情况,您可以使用None一种方法告诉您的算法不要在计算时考虑无效或不存在的值。这意味着算法应该测试每个值以查看它是否是None

NumPy的有一些功能,以避免NaN值污染的结果,如nansumnan_to_num例如。


查看完整回答
反对 回复 2019-07-30
  • 3 回答
  • 0 关注
  • 2197 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信