Как я могу объединить столбцы по DatetimeIndex, сопоставляя день, месяц и час из данных разных лет? - PullRequest
1 голос
/ 16 апреля 2020

У меня есть набор данных с метеорологическими функциями за 2019 год, к которому я хочу объединить два столбца наборов данных по энергопотреблению за 2017 и 2018 годы. Я хочу сопоставить их по часам, дням и месяцам, но данные относятся к разным годам. Как я могу это сделать?

Power consumption dataset

Набор метео-данных представляет собой 6-колоночный аналогичный фрейм данных с индексами datetime, принадлежащими 2019.

1 Ответ

0 голосов
/ 17 апреля 2020

Вы можете из индекса 3 дополнительных столбца, которые представляют час, день и месяц, и использовать их для последующего объединения. DatetimeIndex имеет атрибуты для разных частей отметки времени:

import pandas as pd

ind = pd.date_range(start='2020-01-01', end='2020-01-20', periods=10)
df = pd.DataFrame({'number' : range(10)}, index = ind)

df['hour'] = df.index.hour
df['day'] = df.index.day
df['month'] = df.index.month
print(df)

                     number  hour  day  month
2020-01-01 00:00:00       0     0    1      1
2020-01-03 02:40:00       1     2    3      1
2020-01-05 05:20:00       2     5    5      1
2020-01-07 08:00:00       3     8    7      1
2020-01-09 10:40:00       4    10    9      1
2020-01-11 13:20:00       5    13   11      1
2020-01-13 16:00:00       6    16   13      1
2020-01-15 18:40:00       7    18   15      1
2020-01-17 21:20:00       8    21   17      1
2020-01-20 00:00:00       9     0   20      1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...