簡體   English   中英

如何使用pandas填充缺失值?

[英]How to fill missing values using pandas?

我正在嘗試用另一個由回歸量預測的數組填充缺失值。 我不知道如何用該數組中的相應值替換缺少的值。

例如,我有:

[0, 1, 2, NaN, NaN] 

[0, 0, 1, 2, 3]

如何用2和3替換這些NaN? 似乎fillna不能這樣做。

很抱歉提出了一個含糊不清的問題。

首先,您必須清楚地識別缺失值的含義(NaN,字符串,整數甚至0可以表示為缺失值,具體取決於您的數據集)

如果你有NaN值,最簡單的方法就是如下,你總是可以通過使用replace將你的缺失值轉換為nan。

# let df be your dataframe and x be the value you want to fill it with
df.fillna(x)

第二種方法是使用sklearn中的庫來輸入值。 我添加了一個簡單的代碼,用於使用impute函數,假設您的缺失值是'NaN',並且您要填充數據的方法是使用列的平均值。

from sklearn.impute import SimpleImputer
df = SimpleImputer(missing_value = np.nan, strategy = 'mean').fit_transform(df)

您可以將策略更改為不同的方法,例如列的平均值,或中值或列。 這一切都取決於最適合你的工作

假設有2個數組:

arr1 = pd.DataFrame([0, 1, 2, np.NaN, np.NaN])
arr2 = pd.DataFrame([0, 0, 1, 2, 3])

您可以通過fillnaarr1 NaN替換為arr2的相應元素:

arr1.fillna(arr2, inplace=True)

這是執行fillna后的結果:

arr1 = [0, 1, 2, 2, 3]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM