有数据:我如何填写空值与平均值
print (df)
Sex Age SbSp Parch
0 male 22 1 0
1 female 38 1 0
2 female NAN 0 0
有一些NAN值。我想填平均值。
我没有使用
df1 = df["Age"].fillna(value=df["Age"].mean()
但它并没有影响我的数据集。
什么是问题?
有数据:我如何填写空值与平均值
print (df)
Sex Age SbSp Parch
0 male 22 1 0
1 female 38 1 0
2 female NAN 0 0
有一些NAN值。我想填平均值。
我没有使用
df1 = df["Age"].fillna(value=df["Age"].mean()
但它并没有影响我的数据集。
什么是问题?
我觉得有问题NAN
不是np.nan
值(缺失),而是字符串NAN
s。因此,需要replace
,然后转换为float
:
df['Age'] = df['Age'].replace({'NAN':np.nan}).astype(float)
df["Age"] = df["Age"].fillna(value=df["Age"].mean())
另一种更普遍的解决方案是不是数字由to_numeric
与errors='coerce'
转换为NaNs
:
df['Age'] = pd.to_numeric(df['Age'], errors='coerce')
df["Age"] = df["Age"].fillna(value=df["Age"].mean())
print (df)
Sex Age SbSp Parch
0 male 22.0 1 0
1 female 38.0 1 0
2 female 30.0 0 0
如果使用read_csv NAN
的add参数na_values
为皈依np.nan
:
df = pd.read_csv(file, na_values='NAN')
欢迎堆栈溢出。请先阅读帮助中心,如何在此论坛上提出一个好问题:https://stackoverflow.com/help/how-to-ask。因此,我们可以更好地解决您的问题,并可以帮助解决您的问题。 –
你是从csv读这个吗? –