Группировка данных с помощью библиотеки pandas
Группировка данных в
pandas- это процесс объединения и агрегации данных на основе одного или нескольких столбцов. Она позволяет нам легко анализировать и делать выводы о наших данных, применяя различные функции агрегации к группам.Для начала работы с группировкой в
pandas, нам необходимо импортировать модульpandas.<!-- Import the pandas module --> <script type="text/javascript&"gt; import pandas as pd; </script>Давайте предположим, у нас есть набор данных, содержащий информацию о продажах различных продуктов. Для примера, давайте создадим фрейм данных (DataFrame) в
pandas.<!-- Create a dictionary with the data --> <script type="text/javascript"> data = {'Product': ['A', 'B', 'A', 'B', 'A', 'B'], 'Price': [10, 20, 15, 25, 12, 18], 'Quantity': [2, 4, 3, 1, 2, 3]}; df = pd.DataFrame(data); </script>Теперь, когда у нас есть наш фрейм данных, давайте посмотрим, как можно применить группировку с использованием функции
groupby(). Например, мы можем сгруппировать данные по столбцу "Product" и рассчитать суммарное количество и среднюю цену для каждого продукта.<!-- Group the data by "Product" and calculate sum of "Quantity" and mean of "Price" --> <script type="text/javascript"> grouped_data = df.groupby('Product').agg({'Quantity': 'sum', 'Price': 'mean'}); console.log(grouped_data); </script>В результате мы получим следующую таблицу:
<!-- Display the grouped data --> <script type="text/javascript"> console.log(` Quantity Price Product A 7 12.333333 B 8 21.000000 `); </script>Здесь каждая строка представляет уникальное значение в столбце "Product", а столбцы "Quantity" и "Price" содержат агрегированные данные: суммарное количество и среднюю цену соответственно.
Мы также можем применять несколько функций агрегации одновременно. Например, мы можем посчитать сумму, среднее значение и количество элементов для каждой группы.
<!-- Group the data by "Product" and calculate sum, mean, and count of "Quantity", and mean of "Price" --> <script type="text/javascript"> grouped_data = df.groupby('Product').agg({'Quantity': ['sum', 'mean', 'count'], 'Price': 'mean'}); console.log(grouped_data); </script>В этом случае, наша таблица будет выглядеть следующим образом:
<!-- Display the grouped data --> <script type="text/javascript"> console.log(` Quantity Price sum mean count mean Product A 7 2.333333 3 12.333333 B 8 2.666667 3 21.000000 `); </script>Теперь у нас есть несколько метрик для каждой группы.
Группировка в
pandasтакже позволяет использовать агрегационные функции для нескольких столбцов одновременно. Давайте рассмотрим следующий пример, где мы хотим посчитать сумму и среднее значение для столбцов "Quantity" и "Price" для каждой группы "Product".<!-- Group the data by "Product" and calculate sum and mean of "Quantity" and "Price" --> <script type="text/javascript"> grouped_data = df.groupby('Product').agg({'Quantity': ['sum', 'mean'], 'Price': ['sum', 'mean']}); console.log(grouped_data); </script>В результате мы получим:
<!-- Display the grouped data --> <script type="text/javascript"> console.log(` Quantity Price sum mean sum mean Product A 7 2.333333 37 12.333333 B 8 2.666667 63 21.000000 `); </script>Как видите, мы теперь имеем несколько столбцов и несколько метрик для каждой группы.
Группировка данных в
pandasтакже позволяет выполнять дополнительные операции, такие как сортировка группированного фрейма данных или фильтрация данных на основе условий. Это значительно облегчает анализ и исследование данных.Надеюсь, что данный пример помог вам понять, как использовать группировку в
pandas. Если у вас возникнут дополнительные вопросы или потребуется дополнительная помощь, не стесняйтесь обращаться.