Могу ли я преобразовать строки, содержащие почасовые наблюдения, в столбцы для ежедневных строк, используя панд? - PullRequest
0 голосов
/ 09 мая 2018

У меня есть ряд панд с почасовыми наблюдениями метрики. Я хотел бы преобразовать это в серию, содержащую ежедневные наблюдения с каждой строкой ежедневных наблюдений, имеющей 24 почасовых столбца.

В качестве примера я хотел бы конвертировать

                 value

2018-05-12 12:00 45
2018-05-12 13:00 46
2018-05-12 14:00 47

до

           value_12 value_13 value_14
2018-05-12 45       46       47

Есть ли простой способ достичь этого с помощью встроенных методов в пандах?

1 Ответ

0 голосов
/ 09 мая 2018

Допустим, вы начинаете с

df = pd.DataFrame({'value': [45, 46, 47]}, index=['2018-05-12 12:00', '2018-05-12 13:00', '2018-05-12 14:00'])

Затем вы можете извлечь дату и час:

df['date'] = pd.to_datetime(df.index).date
df['hour'] = pd.to_datetime(df.index).hour

Теперь просто сгруппируйте по дате и создайте серию:

>>> df.groupby([df.date]).apply(lambda g: pd.Series(g.value.values, index='value_' + g.hour.astype(str)))
hour    value_12    value_13    value_14
date            
2018-05-12  45  46  47
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...