Методы фильтрации DataFrame Pandas только по времени с примерами

Чтобы фильтровать DataFrame Pandas только по времени с использованием столбца datetime, вы можете использовать различные методы. Вот несколько примеров:

Метод 1: использование функции strftime()

import pandas as pd
# Sample DataFrame
df = pd.DataFrame({
    'datetime': ['2022-01-01 10:30:00', '2022-01-01 11:45:00', '2022-01-01 12:15:00'],
    'value': [1, 2, 3]
})
# Convert the datetime column to datetime type
df['datetime'] = pd.to_datetime(df['datetime'])
# Filter by time using strftime()
filtered_df = df[df['datetime'].dt.strftime('%H:%M:%S').between('10:00:00', '12:00:00')]

Метод 2. Использование метода доступа к времени

import pandas as pd
# Sample DataFrame
df = pd.DataFrame({
    'datetime': ['2022-01-01 10:30:00', '2022-01-01 11:45:00', '2022-01-01 12:15:00'],
    'value': [1, 2, 3]
})
# Convert the datetime column to datetime type
df['datetime'] = pd.to_datetime(df['datetime'])
# Filter by time using the time accessor
filtered_df = df[(df['datetime'].dt.time >= pd.to_datetime('10:00:00').time()) &
                 (df['datetime'].dt.time <= pd.to_datetime('12:00:00').time())]

Метод 3: использование функции Between_time()

import pandas as pd
# Sample DataFrame
df = pd.DataFrame({
    'datetime': ['2022-01-01 10:30:00', '2022-01-01 11:45:00', '2022-01-01 12:15:00'],
    'value': [1, 2, 3]
})
# Convert the datetime column to datetime type and set it as the index
df['datetime'] = pd.to_datetime(df['datetime'])
df.set_index('datetime', inplace=True)
# Filter by time using between_time()
filtered_df = df.between_time('10:00:00', '12:00:00')