如何转换为NaN类型?如何用na_values将指定缺失值转为NaN?
如何将特定值转换为NaN并使用na_values处理缺失值
一、手动转换已有数据中的值为NaN
如果数据集已经加载到DataFrame中,可以用replace()方法直接把指定值替换成NaN:
import pandas as pd import numpy as np # 假设df是已加载好的数据集 df.replace(['-', 'na'], np.nan, inplace=True)
np.nan是numpy提供的浮点型缺失值,适配大多数数值场景;如果使用pandas的Nullable数据类型(如Int64、string),推荐用pd.NA替代np.nan。
二、读取CSV时用na_values直接识别缺失值
你给出的代码存在语法错误,正确用法是将na_values作为pd.read_csv()的参数传入,而非.na_values==[...]的错误写法。修正后的代码如下:
import pandas as pd # 读取文件时自动将'-'和'na'解析为NaN df = pd.read_csv('austin_weather.csv', na_values=['na', '-'])
na_values参数支持传入列表,用来指定哪些字符串或值在读取阶段就被识别为缺失值,能一步完成数据加载与缺失值转换。
内容的提问来源于stack exchange,提问作者Cindy
相关产品推荐
相关产品推荐

