#python
#python
Вопрос:
новичок здесь, надеясь на некоторую помощь.
У меня есть большой набор данных с диапазоном полей Int и Float, несколько из которых содержат значения NaN.
При первоначальном импорте из csv series был классифицирован как объект, поэтому преобразован в значение с плавающей запятой с помощью этого:
data['bu'] = pd.to_numeric(data['bu'], errors='coerce').astype('float')
Теперь и ищу, чтобы заполнить значения NaN средним значением. Попытка этого кода:
num_bu = data['bu'].dropna()
mean_bu = sum(num_bu) / len(num_bu)
И я получаю эту ошибку:
Обратная трассировка ошибки типа (последний последний вызов) в 5 #num_bu 6 —- > 7 mean_bu = сумма (num_bu) / длина (num_bu) 8 9 mean_bu
Ошибка TypeError: объект ‘NAType’ не вызывается
Я думал, что dropna исправит это, но я в тупике. Есть идеи, что я делаю не так?
Следуйте за редактированием… не уверен, в чем моя проблема. Заметив, что тип данных:
pandas.core.series.Серии
Пробовали этот код изменить на Int или Float (в зависимости от столбца):
data["age"]= data["age"].astype('Int64')
однако, когда я проверяю тип после этого, все еще говорю, что это:
pandas.core.series.Серии
странно, хотя, когда я проверяю dtypes в dataframe, все типы выглядят правильно (все правильно Int или Float)
Понятия не имею, что я делаю не так :/
Ответ №1:
Все хорошо …. изменен на функции серии и работал.