Взятие среднего значения нескольких столбцов по месяцам и годам Python - PullRequest
0 голосов
/ 06 ноября 2018

Я хотел бы использовать эти данные:

Date            Producer         Hour          Product Rate
01-01-2001      Hamilton          0                 560
01-01-2001      Hamilton          1                 540
01-01-2001      Hamilton          2                 510
01-01-2001      Hamilton          3                 590
01-01-2001      Hamilton          4                 600
.
.
.
01-01-2001      Hamilton          23                150
01-02-2001      Hamilton          0                 510
01-02-2001      Hamilton          1                 530
01-02-2001      Hamilton          2                 540
.
.
.
01-01-2001      Checker          0                  150
01-01-2001      Checker          1                  260
01-01-2001      Checker          2                  256
01-01-2001      Checker          3                  360

Я бы хотел получить среднее значение по Часу и Производителю Производительности исходя из Дата Ежемесячно / Ежегодно .

Это означало бы, что мы группируемся не только по Часу и Производителю, но и по месяцу и году.

Я не могу найти простой способ сделать это с большим набором данных. Я пробовал:

data_avg = data.groupby([lambda x: x.year, lambda x: x.month]).mean()

Но я не хочу просто копировать и вставлять лямбда-код, не зная полностью, как он работает или как его использовать.

Есть ли более простой способ фильтрации по groupby для того, что мне нужно? Я изменил даты на формат даты и времени, так что теперь это вопрос группировки.

1 Ответ

0 голосов
/ 06 ноября 2018

Вы также можете сделать это, просто используя groupby, как показано ниже:

data_avg = data.groupby([data['Date'].dt.year.rename('year'), data['Date'].dt.month.rename('month'), data['Hour']])['Product Rate'].mean()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...