[英]Dataframe can't fill NaN values in pandas
我有一个带有一些NaN值的DataFrame
,我希望与我的DataFrame的平均值相符
data.fillna(data.mean())
之后,我检查是否还有NaN或null值
print('is nan', data.isna().values.any()) #prints True
print('is null', data.isnull().values.any()) #prints True
在打印之前是真的,我不明白,因为NaN值应该被填充。
我错过了什么吗?
试试这个来改变您的数据框架:
data.fillna(data.mean(), inplace=True)
或者这样做是为了创建一个新的数据帧,其中NaNs被data.mean()
取代:
data_new = data.fillna(data.mean())
这是一个可重复的样本示例。
import pandas as pd
# generate sample dataframe some filled with NaN
data = pd.DataFrame([[1, 2], [np.nan, 4], [5, 6], [7, np.nan]], columns=["A", "B"])
# apply per-column and substitue the mean of that columns
data.apply(lambda x: x.fillna(x.mean()),axis=1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.