有數據:我如何填寫空值與平均值
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讀這個嗎? –