Imputer уменьшает размер столбцов в моем фрейме данных
print(np.shape(ar_fulldata_input_xx))
Выход: (9027, 1443)
Сейчас пользуюсь Imputer
вменять пропущенные значения моего фрейма данных ar_fulldata_input_xx
следующее.
fill_NaN = Imputer(missing_values=np.nan, strategy='mean', axis=0)
imputed_DF = pd.DataFrame(fill_NaN.fit_transform(ar_fulldata_input_xx))
Теперь я проверяю размер моего вмененного кадра данных следующим образом.
print(np.shape(imputed_DF))
Выход: (9027, 1442)
Почему размер столбца уменьшается на один?
Есть ли способ узнать, какой столбец смешивается после вменяемой функции??
Я запустил следующую строку кода, чтобы удалить все столбцы с целыми значениями "NAN" или целыми значениями "0".
ar_fulldata_input_xx = ar_fulldata_input_xx.loc[:, (ar_fulldata_input_xx != 0).any(axis=0)]
а также
ar_fulldata_input_xx=ar_fulldata_input_xx.dropna(axis=1, how='all')
1 ответ
Решение
Вы можете сделать это на пандах, используя это:
ndf = df.fillna(df.mean())
Кажется, что была проблема с одним из столбцов, который не импортировал должным образом числовые значения из исходного файла, так что, вероятно, это было причиной того, что Imputer не работал. ОП смотрит на это.