Как выбрать строку с максимальным значением в столбце из групп Pandas Groupby ()?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как выбрать строку с максимальным значением в столбце из групп Pandas Groupby ()?

Сообщение Anonymous »

У меня есть таблица, как это: < /p>
import pandas as pd

df = pd.DataFrame(
[
['john', 'rdgsdr', 2, 'A'],
['ann', 'dsdfds', 3, 'A'],
['john', 'jkfgdj', 1, 'B'],
['bob', 'xcxfcd', 5, 'A'],
['john', 'uityuu', 3, 'C'],
['ann', 'werwwe', 2, 'C'],
],
columns=['name', 'stuff', 'orders', 'store']
)

# df
# name stuff orders store
# 0 john rdgsdr 2 A
# 1 ann dsdfds 3 A
# 2 john jkfgdj 1 B
# 3 bob xcxfcd 5 A
# 4 john uityuu 3 C
# 5 ann werwwe 2 C
< /code>
Мне нужно извлечь для каждого имени строку с максимальным количеством заказов; а также вычислите это имя Список всех магазинов. Как это: < /p>
grouped = df.groupby('name')

for name, group in grouped:
print('-'*5, name, '-'*5)
print(group)

# ----- ann -----
# name stuff orders store
# 1 ann dsdfds 3 A result
name stuff max orders all stores
1 ann dsdfds 3 A,C
3 bob xcxfcd 5 A
4 john uityuu 3 A,B,C
< /code>
Я попробовал это: < /p>
result = grouped.agg(
**{
# 'stuff': 'stuff',
'max orders': pd.NamedAgg('orders', max),
'all stores': pd.NamedAgg('store', lambda s: s.str.join(',')),
}
)
< /code>
Но я не знаю, как включить столбец «материал» в результат (в моем реальном приложении у меня есть много таких дополнительных столбцов, возможно, десятки). А также, соединение дает мне списки вместо строк: < /p>
>>> result
name max orders all stores
0 ann 3 [A, C]
1 bob 5 A
2 john 3 [A, B, C]


Подробнее здесь: https://stackoverflow.com/questions/702 ... pby-groups
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»