[英]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.