[英]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])
您可以通過fillna
將arr1
NaN
替換為arr2
的相應元素:
arr1.fillna(arr2, inplace=True)
這是執行fillna
后的結果:
arr1 = [0, 1, 2, 2, 3]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.