🔍 Как фильтровать по дате в Pandas: простой способ для начинающих

Для фильтрации данных по дате в Pandas используйте метод query() или условный оператор с помощью [].

import pandas as pd

# Пример данных
data = {'Дата': ['2022-01-01', '2022-01-02', '2022-01-03'],
        'Значение': [10, 20, 30]}
df = pd.DataFrame(data)

# Фильтрация с помощью query()
df_filtered_1 = df.query('Дата == "2022-01-02"')

# Фильтрация с помощью условного оператора []
df_filtered_2 = df[df['Дата'] == '2022-01-02']

Оба примера вернут только строки, в которых значение столбца "Дата" равно "2022-01-02".

Детальный ответ

Как фильтровать по дате pandas

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

1. Фильтрация по определенному диапазону дат

Чтобы отфильтровать данные по определенному диапазону дат, мы можем использовать операторы сравнения (>, <, =, >=, <=) с объектами даты и времени в pandas.

import pandas as pd

# Создаем DataFrame с данными и датами
data = {'Дата': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04'],
        'Значение': [10, 20, 30, 40]}
df = pd.DataFrame(data)

# Преобразуем столбец "Дата" в тип данных datetime
df['Дата'] = pd.to_datetime(df['Дата'])

# Фильтруем данные по диапазону дат
filtered_df = df[(df['Дата'] >= '2022-01-02') & (df['Дата'] <= '2022-01-03')]

print(filtered_df)

В приведенном выше примере мы создаем DataFrame с данными и датами. Затем мы преобразуем столбец "Дата" в тип данных datetime с помощью функции pd.to_datetime(). Далее мы используем операторы сравнения, чтобы отфильтровать данные, оставив только те строки, где значение в столбце "Дата" находится в заданном диапазоне.

2. Фильтрация по условию

Мы также можем фильтровать данные по определенному условию, связанному с датой, используя функциональность pandas.

# Фильтруем данные, оставляя только строки, где дата больше определенного значения
filtered_df = df[df['Дата'] > '2022-01-02']

# Фильтруем данные, оставляя только строки, где дата меньше определенного значения
filtered_df = df[df['Дата'] < '2022-01-04']

# Фильтруем данные, оставляя только строки, где дата равна определенному значению
filtered_df = df[df['Дата'] == pd.to_datetime('2022-01-03')]

В приведенных выше примерах мы используем операторы сравнения (>, <, =) для фильтрации данных по заданному условию, связанному с датой. Здесь мы также преобразуем строку с датой в тип данных datetime с помощью функции pd.to_datetime().

3. Фильтрация по году, месяцу или дню

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

# Фильтруем данные, оставляя только строки, где год равен 2022
filtered_df = df[df['Дата'].dt.year == 2022]

# Фильтруем данные, оставляя только строки, где месяц равен январю (1)
filtered_df = df[df['Дата'].dt.month == 1]

# Фильтруем данные, оставляя только строки, где день равен 2
filtered_df = df[df['Дата'].dt.day == 2]

В приведенных выше примерах мы используем методы dt.year, dt.month и dt.day для выделения года, месяца и дня из столбца с датами. Затем мы сравниваем полученные значения с нужными нам.

Таким образом, мы рассмотрели различные способы фильтрации данных по дате с помощью библиотеки pandas. Вы можете выбрать подходящий метод в зависимости от ваших конкретных потребностей и требований.

Видео по теме

Фильтрация данных в Pandas | Анатолий Карпов | karpov.courses

► 9. ФИЛЬТРАЦИЯ ДАННЫХ по логическому условию | Курс по Pandas.

Pandas общий обзор данных, сортировка, фильтр

Похожие статьи:

🔍 Как фильтровать по дате в Pandas: простой способ для начинающих

🔍 Как определить выбросы в выборке pandas: простые шаги и советы

🔑 Как превратить список в столбец в pandas 🐼