R语言is.na()函数的Python等价函数是什么?代码报错求助
问题解答
- 你用的函数完全错误,
np.nan是Python里表示缺失值的常量,不是判断函数,不能像np.nan(x[i])这样调用,这会直接触发语法错误。 - R语言中
is.na()在Python的等价函数是np.isnan()(针对numpy缺失值场景),专门用来判断元素是否为NaN。
代码错误分析与修正
你的核心问题是判断NaN的方式不对,修正后的代码如下:
import numpy as np x = [3, 6, 7, np.nan, -3, 0] total_before_NA = 0 for num in x: # 正确判断当前元素是否为NaN if np.isnan(num): break total_before_NA += num print(total_before_NA) # 输出16,符合预期
补充说明
如果不想依赖numpy,也可以用math.isnan(),但它只能处理浮点型数值,对整数会报错,需要先转换类型:
import math x = [3, 6, 7, float('nan'), -3, 0] total_before_NA = 0 for num in x: if math.isnan(float(num)): break total_before_NA += num print(total_before_NA)
内容的提问来源于stack exchange,提问作者camaya3
相关产品推荐
相关产品推荐

