Объект NAType не вызывается ошибка — суммирование с плавающей точкой

#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:

Все хорошо …. изменен на функции серии и работал.