Условие: У вас есть датафрейм df, содержащий два столбца: A и B. Столбец A содержит даты, а столбец B — числовые значения. Как бы вы рассчитали скользящее среднее по столбцу B с окном в 3 дня, предполагая, что значения в столбце A идут подряд и без пропусков?
Решение:
import pandas as pd
data = {
'A': ['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04', '2023-01-05',
'2023-01-06', '2023-01-07', '2023-01-08', '2023-01-09'],
'B': [18, 71, 13, 57, 7, 8, 69, 83, 27]
}
df = pd.DataFrame(data)
# Убедимся, что столбец A распознан как дата
df['A'] = pd.to_datetime(df['A'])
# Установим столбец дат как индекс датафрейма
df = df.set_index('A')
# Рассчитаем скользящее среднее по столбцу B с окном в 3 дня
df['Moving_Average'] = df['B'].rolling(window=3).mean()
print(df)
#python
#pandas
#программирование
Please open Telegram to view this post
VIEW IN TELEGRAM
Как работает метод groupby() в Pandas?
Метод работает по этапам:
▪️Первый этап — разбиение данных
Данные в объекте pandas (будь то Series или DataFrame) делятся на группы на основе одного или нескольких ключей (столбцов), которые указывает пользователь.
▪️Разбиение выполняется по оси
Операция разбиения может быть выполнена по строкам (по умолчанию axis=0) или по столбцам (axis=1).
▪️Применение функций к каждой группе
После разбиения к каждой группе применяется функция (например, агрегация, фильтрация или трансформация), и это создает новое значение для каждой группы.
▪️Финальная комбинация
Результаты применения этих функций собираются в итоговый объект. Окончательная форма результата зависит от типа операции, применяемой к данным.
#pandas
Метод работает по этапам:
▪️Первый этап — разбиение данных
Данные в объекте pandas (будь то Series или DataFrame) делятся на группы на основе одного или нескольких ключей (столбцов), которые указывает пользователь.
▪️Разбиение выполняется по оси
Операция разбиения может быть выполнена по строкам (по умолчанию axis=0) или по столбцам (axis=1).
▪️Применение функций к каждой группе
После разбиения к каждой группе применяется функция (например, агрегация, фильтрация или трансформация), и это создает новое значение для каждой группы.
▪️Финальная комбинация
Результаты применения этих функций собираются в итоговый объект. Окончательная форма результата зависит от типа операции, применяемой к данным.
#pandas