«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как добавить столбец с количеством групп в сгруппированный фрейм данных в Pandas?

Как добавить столбец с количеством групп в сгруппированный фрейм данных в Pandas?

Опубликовано 6 ноября 2024 г.
Просматривать:114

How to Add a Column with Group Counts to a Grouped Dataframe in Pandas?

Как добавить столбец в сгруппированный фрейм данных в Pandas

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

Рассмотрим фрейм данных df:

df = pd.DataFrame({'c':[1,1,1,2,2,2,2],'type':['m','n','o','m','m','n','n']})

Чтобы подсчитать значения типа для каждого c, мы можем использовать функцию value_counts для сгруппированного фрейма данных:

g = df.groupby('c')['type'].value_counts().reset_index(name='t')

Это создает новый кадр данных g со счетчиками групп. Чтобы добавить столбец в g с размером каждой группы, мы можем использовать функцию преобразования:

g['size'] = df.groupby('c')['type'].transform('size')

transform применяет функцию к каждой группе в исходном кадре данных и возвращает серию с индексом, выровненным по исходному кадру данных. В этом случае мы используем функцию размера, чтобы подсчитать количество элементов в каждой группе и присвоить его новому размеру столбца. Результирующий фрейм данных g теперь будет выглядеть так:

   c type  t  size
0  1    m  1     3
1  1    n  1     3
2  1    o  1     3
3  2    m  2     4
4  2    n  2     4

Это демонстрирует простой способ добавления нового столбца в сгруппированный фрейм данных на основе результатов групповой агрегации.

Заявление о выпуске Эта статья перепечатана по адресу: 1729308796. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3