Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Васильев Ю. - Python для data science (Библиотека программиста) - 2023.pdf
Скачиваний:
7
Добавлен:
07.04.2024
Размер:
7.21 Mб
Скачать

146      Глава 6. Агрегирование данных

УПРАЖНЕНИЕ № 10: ИСКЛЮЧЕНИЕ ИЗ ДАТАФРЕЙМА СТРОК

С ИТОГОВОЙ СУММОЙ

Наличие в DataFrame строк с суммарными значениями позволяет использовать его в качестве отчета без необходимости совершать с ним дополнительные действия. Однако если вы собираетесь использовать датафрейм в дальнейших операциях агрегирования, такие строки лучше исключить.

Попробуйте отфильтровать датафрейм df_totals, созданный в предыдущем разделе, исключив строки с общим и промежуточным итогом. Используйте методы срезов, рассмотренные в этой главе.

Выбор всех строк в группе

Помимо помощи в агрегировании, функция groupby() позволяет выбрать все строки, принадлежащие определенной группе. Для этого к объекту, возвращаемому groupby(), применяется метод get_group(). Вот как это работает:

group = df_result.groupby(['Date','Region']) group.get_group(('2022-02-04','West'))

Мы группируем датафрейм df_result по Date и Region, передавая имена столбцов в groupby() в виде списка, как уже делали это ранее. Затем применяем метод get_group() к полученному объекту GroupBy, передавая кортеж с нужным индексом. В результате получаем следующий датафрейм:

 

Date

Region

Total

0

2022-02-04

West

87.0

1

2022-02-04

West

112.0

2

2022-02-04

West

20.0

3

2022-02-04

West

24.0

 

 

 

 

Как видите, результирующие значения не являются агрегированными. Мы получили все строки с заказами, относящиеся к указанной дате и региону.

Выводы      147

Выводы

В этой главе вы узнали, что агрегирование — это процесс сбора данных и их представления в обобщенном виде. Как правило, он включает разделение данных по группам и вычисление итоговых показателей по каждой группе. На примерах этой главы мы показали, как агрегировать данные, содержащиеся в pandas DataFrame, используя методы и свойства данной структуры, такие как merge(), groupby(), sum(), index и loc. Вы научились использовать преимущества иерархического индекса (или MultiIndex) датафрейма для моделирования многоуровневых отношений в агрегируемых данных. Вы также научились выборочно просматривать агрегированные данные и получать их срезы с помощью MultiIndex.