尝试以下列方式填充 na 值:
df['column'].fillna(value:'value',inplace=True)
我打印之前和之后的值并得到以下结果:
['11', '12', '81', '21', '22', nan, '41', '71', '10', '23', '02', '20', '19', '72', '24', '53', '60', '49']
[<class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'float'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>]
['11', '12', '81', '21', '22', nan, '41', '71', '10', '23', '02', '20', '19', '72', '24', '53', '60', '49']
[<class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'float'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>]
很明显,这些值被识别为 NaN 值,但填充不是填充 nan 浮点数。
pd.to_numeric
:
value = 9999
df['column'] = pd.to_numeric(df['column'], errors='coerce').fillna(value)
如果您确定只有整数,您可以附加
.astype(int)
。