Проверить, есть ли в столбце элементы списка list:
df['column'].isin(list)
Получить день недели/год/дату:
df['datetime'].dt.date # получение даты
df['datetime'].dt.year # получение года
df['datetime'].dt.weekday # получение дня недели
Получить срезы данных:
df.query('column != ”value”') # получить всё, что НЕ равно "value"
df.query('column < column.mean()') # получить все значения, меньше среднего
df.query('column > @variable') # получить все значения больше заданной переменной variable
Поставить значение года на первое место:
pd.to_datetime(df['datetime'], yearfirst = True)
Сдвинуть дату и время:
data['shifted_dt'] = data['datetime'] + pd.Timedelta(hours=10) # сдвинуть на десять часов
Округлить время:
df['datetime'] = df['datetime'].dt.round('1H') # до 1 часа
df['datetime'] = df['datetime'].dt.round('1D') # до 1 дня
df['datetime'] = df['datetime'].dt.round('5T') # до 5 минут
df['datetime'] = df['datetime'].dt.round('10S') # до 10 секунд
df['datetime'] = df['datetime'].dt.floor('1H') # округлить в меньшую сторону
df['datetime'] = df['datetime'].dt.ceil('1H') # округлить в большую сторону
Создать сводную таблицу:
df_pivot = df.pivot_table(index = ['index_column'], columns = 'columns', values = 'values', aggfunc = 'function')
# index - столбец (столбцы), по которым происходит группировка
# columns - значения, которые будут сгруппированы
# values - значения, по которым нужно получить сводную таблицу
# aggfunc - что нужно сделать со значениями (медиана/среднее/количество/минимум/максимум
Получить крайние значения группы:
df.pivot_table(index='index', values='values', aggfunc='first') # первое значение
df.pivot_table(index='index', values='values', aggfunc='last') # последнее значение
Успехов в изучении Python!