Skip to main content
 首页 » 编程设计

python之Python中nan和 'nan'的区别

2025年05月04日11del

我有两个列表

a = ['E300' 'E407' 'nan' 'nan' 'nan' 'nan' 'nan' 'nan' 'nan' 'nan' ] 
b = [ nan  nan  nan  nan  nan  nan  nan  nan  nan  nan  nan  nan  nan] 

我想从列表中删除 nan。所以我在列表 'a' 和 'b' 上使用了它

a = [x for x in a if x != 'nan'] 
b = [x for x in b if x != 'nan'] 

所以它适用于列表“a”,因为我认为它是将“nan”作为字符串而不是列表 b。我怎样才能从列表 b 中删除那些 nan。提前致谢。

请您参考如下方法:

当你不把它放在引号中时,nan 是一个数字(它是一个特殊的数字,用于表示不存在的结果,称为“Not a Number”)。它是如此特别,以至于它甚至不等于自己。使用 math.isnan 或 numpy.isnan 来测试一个数字是否为 nan

b = [x for x in b if not math.isnan(x)]