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 не работал. ОП смотрит на это.

Другие вопросы по тегам