Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для VistaSV30
988 / 332 / 79
Регистрация: 10.04.2012
Сообщений: 1,242
Записей в блоге: 4

Группировка в Pandas

02.12.2021, 10:29. Показов 2230. Ответов 2

Студворк — интернет-сервис помощи студентам
Добрый день!

Подскажите как выполнить группировку данных фрейма
Python
1
2
3
4
5
6
import pandas as pd, numpy as np
 
np.random.seed(10) 
 
df = pd.DataFrame(np.random.randint(1,5,size=(10, 4)), columns=list('ABCD'))
print(df)
В итоговой таблице нужны следующие колонки
- уникальные значения в колонке А (номер группы)
- количество уникальных значений по группам
- среднее по группам для колонки B
- мода по группам для колонки С
- максимум по группам для колонки D

Спасибо!

Добавлено через 1 час 4 минуты
Сделал такой вариант.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import pandas as pd, numpy as np
 
np.random.seed(10)
 
df = pd.DataFrame(np.random.randint(1,5,size=(10, 4)), columns=list('ABCD'))
print(df)
 
agg_func_math = {
    'A': ['count'],  #  уникальные значения и их количество
    'B': ['mean', 'mad'],  # среднее арифметическое, среднее абсолютное отклонение (mean absolute deviation)
    'C': ['median', 'prod'], # медиана и произведение всех членов группы
    'D': ['min', 'max', 'std', 'var'],  # минимум и максимум, стандартное отклонение и дисперсия
}
ds = df.groupby(['A']).agg(agg_func_math).round(2)
print(ds)
А то, уже хотел чрез SQL делать
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.12.2021, 10:29
Ответы с готовыми решениями:

Группировка по дате pandas
Как сгруппировать, данный DataFrame по дате, но нужно чтобы группировка была по часам, типо: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11,...

Pandas группировка полей и суммирование
Доброе время суток! Есть Дата фрейм из двух колонок group_id и user_id. Задача, добавить третью колонку в которой будет раз юзер...

Pandas
Здравствуйте! Вот мой код, который представлен ниже. a = {'Female': 204, 'Male': 196} df_a = pd.DataFrame(a,index=) print(df_a) ...

2
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
02.12.2021, 10:56
VistaSV30,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import pandas as pd
import numpy as np
"""
В итоговой таблице нужны следующие колонки
1 - уникальные значения в колонке А (номер группы)
2 - количество уникальных значений по группам
3 - среднее по группам для колонки B
4 - мода по группам для колонки С
5 - максимум по группам для колонки D
"""
np.random.seed(10) 
 
df = pd.DataFrame(np.random.randint(1,5,(10, 4)), columns=list('ABCD'))
#print(df)
 
# 1.
print(*np.unique(df.A))
 
# 2.
for e in df.columns:
    print(df[e].value_counts().sort_index(ascending=True))
 
# 3-5.
# например? Среднее в группе == уникальному значению
А лучше показать на примере, что нужно...

Добавлено через 1 минуту
определился сам
1
 Аватар для VistaSV30
988 / 332 / 79
Регистрация: 10.04.2012
Сообщений: 1,242
Записей в блоге: 4
02.12.2021, 22:42  [ТС]
Небольшое дополнение. Может быть кому-то пригодится.

pandas группировка в сочетании с сортировкой.
Python
1
2
3
4
5
6
7
import pandas as pd, numpy as np
 
np.random.seed(10)
 
df = pd.DataFrame(np.random.randint(1,5,size=(10, 4)), columns=list('ABCD'))
print(df)
df.groupby(['A']).agg({'A': ['count']}).sort_values(by=('A','count'), ascending=False).head(3)
Аналогичный результат SQL
SQL
1
2
3
4
SELECT TOP 3 df.A, COUNT(df.A) AS [Count-A]
FROM df
GROUP BY df.A
ORDER BY COUNT(df.A) DESC;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.12.2021, 22:42
Помогаю со студенческими работами здесь

pandas
1. Вам дана статистика продаж в файле "transactions_data.csv". Вам необходимо загрузить этот файл в датафрейм и посчитать его размеры. ...

Pandas
Люди добрые, кто может помочь с Pandas отзовитесь пожалуйста!

Pandas
Здравствуйте! Есть вот такая таблица! lemma word pos 0 убийца убийца NOUN 1 или или CONJ 2 жертва жертва NOUN ...

Pandas
Здравствуйте. Есть столбец с такими данными: NOUN, CONJ, ADJF, ADJS, ADJ, GRND, PRTF, PRTS, INFN, VERB. Как заменить в столбце значение...

Pandas groupby
Есть cvs 0, 10, 15, 14 0, 12, 17, 17 1, 14, 19, 15 1, 11, 12, 13 Я его считываю, и даю названия колонка


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru