Ошибка вычисления среднего из-за списка, который не существует - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь вычислить среднюю часовую долю из столбца целых чисел с именем hour в панде DataFrame df с именем train.

Код, используемый для вычисления, выглядит следующим образом:

hourly_frac = train.groupby(['hour']).mean()/np.sum(train.groupby(['hour'].mean()))

Что следует за учебником FB Prophet https://www.analyticsvidhya.com/blog/2018/05/generate-accurate-forecasts-facebook-prophet-python-r/

Однако при попытке запустить этот код я получаю следующую ошибку:

AttributeError: 'list' object has no attribute 'mean'

Это сбивает с толку, поскольку dtype объекта равен int64 и при проверке типа он предполагает, что это серия панд.Образец данных выглядит следующим образом:

train.hour Out[14]:<br> 1 0 2 0 3 23 4 24 5 35 6 36

Я не понимаю, где находится список и почему он не сможет рассчитать среднее значение здесь.Любые идеи относительно того, что означает ошибка?

Заранее спасибо.

1 Ответ

0 голосов
/ 22 января 2019

Похоже, вы поставили круглые скобки. Ближе к концу вашей строки фрагмент:

['hour'].mean()

пытается взять mean из ['hour'], list с одним элементом типа str. И поэтому, как и должно быть, вы получаете AttributeError.

Только представьте, что эта строка молча провалилась, вместо того, чтобы вызвать информативную ошибку: вид мусора, который вы увидите в ваших окончательных результатах, был бы просто очарователен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...