我試圖用列平均值使用sklearn.preprocessing.Imputer
替換給定數據集中的NaN值。而不是有NaN
取代,而是發現他們正在被我的代碼刪除。下面是一個簡單的例子展示了這個問題,我面對:中期平均策略刪除NaN而不是替換
>>> test_data = np.array([float("NaN"), 1, 2, 3])
>>> imp = Imputer(missing_values=float("NaN"), strategy="mean")
>>> imp.fit_transform(test_data)
** Deprecation warning truncated **
array([[1., 2., 3.]])
我應該改變,這樣不是刪除它就會通過2.
取代NaN
的?
我試圖改編自sklearn.preprocessing.Imputer
user guide,最初是在this answer之後,但我一定誤解了他們。
編輯:
我也曾嘗試以下,這擺脫了棄用警告,但不會改變最終的結果:
>>> test_data = np.array([[float("NaN"), 1, 2, 3]])
>>> imp = Imputer(missing_values=float("NaN"), strategy="mean")
>>> imp.fit_transform(test_data)
array([[1., 2., 3.]])
有趣的是,這似乎工作而使用numpy的陣列僅僅通過使用列或行,這取決於數據是如何佈置的工作原理我的溶液軸是否被設置爲0或1。 – ApplePie