В мире анализа и обработки данных Pandas — это мощная библиотека Python, предоставляющая универсальные инструменты для работы со структурированными данными. В этой статье блога мы рассмотрим два основных метода: скользящий вызов и группировку. Мы углубимся в их определения, предоставим примеры кода с разговорными пояснениями и выделим различные методы эффективного использования этих функций.
Раздел 1: Роллинг в Pandas
Роллинг, также известный как скользящее окно или скользящий расчет, относится к методу, который выполняет вычисления в скользящем окне точек данных. Окно перемещается по данным, вычисляя значения на основе элементов внутри окна. Давайте рассмотрим некоторые способы добиться этого в Pandas:
- Метод 1: использование функции rolling
 Функцияrollingв Pandas позволяет нам создавать скользящее окно заданного размера в столбце и выполнить на нем расчеты. Например, предположим, что у нас есть DataFramedfсо столбцом с именем «значения», и мы хотим вычислить скользящую сумму для окна размером 5:
df['rolling_sum'] = df['values'].rolling(window=5).sum()- Метод 2: пользовательские скользящие расчеты
 Иногда нам может потребоваться выполнить специальные расчеты в скользящем окне. Мы можем добиться этого, используя функциюrollingв сочетании с другими функциями Pandas. Например, чтобы вычислить скользящее среднее значение столбца, мы можем использовать следующий код:
df['rolling_avg'] = df['values'].rolling(window=5).mean()Раздел 2: GroupBy в Pandas
GroupBy — это мощная операция в Pandas, которая позволяет нам группировать данные на основе одного или нескольких столбцов и выполнять агрегирование или вычисления внутри каждой группы. Вот несколько способов максимально эффективно использовать GroupBy:
- Метод 1: агрегирование с помощью GroupBy
 Функцияgroupbyгруппирует DataFrame на основе одного или нескольких столбцов, а затем мы можем применять различные функции агрегирования, такие как сумма, среднее значение, количество и т. д. и т. д. Например, давайте сгруппируем DataFramedfпо столбцу «Категория» и посчитаем сумму столбца «Значения» в каждой группе:
grouped_df = df.groupby('category')['values'].sum()- Метод 2. Применение пользовательских функций
 Помимо встроенных функций агрегирования, мы можем применять пользовательские функции к каждой группе с помощью функцииapply. Это позволяет проводить более сложные расчеты. Например, давайте определим функцию, которая возвращает разницу между максимальным и минимальным значениями в каждой группе:
def custom_function(x):
    return x.max() - x.min()
grouped_df = df.groupby('category')['values'].apply(custom_function)В этой статье блога мы рассмотрели два мощных метода в Pandas: скользящий вызов и GroupBy. Прокручивающийся вызов позволяет нам выполнять вычисления в скользящем окне данных, а GroupBy дает нам возможность группировать данные на основе одного или нескольких столбцов и выполнять агрегирование внутри каждой группы. Освоив эти методы, вы сможете расширить свои возможности анализа и обработки данных в Python.