Построить DataFrame в диапазоне временных индексов - PullRequest
0 голосов
/ 18 января 2019

Я новичок в Python и пандах.

У меня есть набор данных, загруженный в Python как DataFrame. Индексом DataFrame являются времена формата «2018-01-01 00:00:00». Мой набор данных варьируется от "2018-01-01 00:00:00" до "2018-12-31 23:59:59". Столбец данных имеет имя столбца «X».

Я могу построить весь набор данных, используя matplotlib:

plt.plot(data.index, data["X"])

Однако я хочу построить различные сегменты временного ряда: 1 месяц, 6 месяцев, 2 дня, 3 секунды и т. Д.

Каков наилучший способ сделать это?

Спасибо

Ответы [ 2 ]

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

Вам может понадобиться сделать еще один шаг обработки для вашего индекса, чтобы убедиться, что вы имеете дело с объектами datetime, а не со строками.

new_data = (
    data
    .assign(datetime=lambda df: pandas.to_datetime(df.index))
    .set_index('datetime')
)

new_data["X"].plot()

Это должно приблизить нас к тому, что вы хотите, но я не проверял это на данных с вашим форматом даты.

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

Если вы хотите построить месяц, вы можете сделать

data.loc['2018-02',"X"].plot()

6 месяцев

data.loc['2018-02':'2018-08',"X"].plot()

и та же логика применяется для других диапазонов

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