Метод at_time для Pandas Series

PandasPandasBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабораторном задании мы будем изучать метод at_time() из библиотеки Pandas для Python. Этот метод позволяет нам выбирать конкретные значения из Pandas Series в зависимости от определенного времени суток.

Советы по работе с ВМ

После завершения запуска ВМ нажмите в верхнем левом углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Импортируем необходимые библиотеки

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

import pandas as pd

Создаем Series с индексом DateTime

Далее, создадим Pandas Series с индексом DateTime. Этот индекс будет представлять разные метки времени, что позволит нам выбирать значения в зависимости от конкретного времени суток.

Values = pd.date_range('2021-04-01', periods=6, freq='8H')
series = pd.Series([1, 2, 3, 4, 5, 6], index=Values)
print(series)

Результат:

2021-04-01 00:00:00    1
2021-04-01 08:00:00    2
2021-04-01 16:00:00    3
2021-04-02 00:00:00    4
2021-04-02 08:00:00    5
2021-04-02 16:00:00    6
Freq: 8H, dtype: int64

Выбираем значения в определенное время с использованием at_time()

Теперь давайте используем метод at_time() для выбора значений из Series в зависимости от определенного времени. В этом примере мы выберем значения в 8:00 утра.

print(series.at_time('8:00'))

Результат:

2021-04-01 08:00:00    2
2021-04-02 08:00:00    5
Freq: 24H, dtype: int64

Выбираем значения в другое определенное время

Попробуем выбрать значения в другое определенное время. В этом примере мы выберем значения в 9:00 утра.

print(series.at_time('9:00'))

Результат:

Series([], Freq: 8H, dtype: int64)

Работа с несуществующими значениями времени

Если указанное время отсутствует в индексе, метод at_time() вернет пустую Series. В предыдущем примере мы выбрали время (9:00 утра), которое отсутствует в нашем индексе, поэтому возвращается пустая Series.

Работа с не-DatetimeIndex

Важно отметить, что индекс Series должен быть DatetimeIndex, чтобы метод at_time() работал корректно. В противном случае будет возбуждено исключение TypeError.

series = pd.Series([1, 2, 3, 4])
print(series.at_time('10:00'))

Результат:

TypeError: Index must be DatetimeIndex

Резюме

В этом практическом занятии мы изучили метод at_time() из библиотеки Pandas. Этот метод позволяет нам выбирать значения из Pandas Series в определенные моменты дня. Мы изучили, как создать Series с DateTime индексом, выбирать значения с использованием at_time(), обрабатывать несуществующие значения времени и обрабатывать не-DatetimeIndex. Метод at_time() представляет собой мощный способ извлекать конкретные данные, основанные на времени, из Series.