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

#python-3.x #pandas #pandas-groupby

#python-3.x #панды #pandas-groupby

Вопрос:

На самом деле я хочу найти максимальные значения teachers_prefix с префиксом учителя (например: в данном случае mrs, и значением, равным 639471

Входные данные могут быть найдены здесь

Комментарии:

1. основываясь на изображении, вы уже можете получить max значение, что именно вам нужно или застряло?

Ответ №1:

Попробуйте использовать pd.Series.idxmax(). Это возвращает индекс столбца / серии, в котором вы получаете максимальное значение.

 #grouped_df[[grouped_df.idxmax()]] #If series

grouped_df.loc[grouped_df.idxmax()] #If dataFrame
 
 teacher_prefix
mrs  639471
Name: sum, dtype: int64
 

Если вам нужна одна или несколько строк, основанных на верхних n наибольших значениях —

 grouped_df.nlargest(2, 'sum')
 

Комментарии:

1. Это сработало для меня grouped_df.nlargest(1,grouped_df)

2. Я не думаю, что это был бы оптимальный способ сделать это. Вы используете nlargest с n = 1. Цель функции — получить верхние n строк в наборе данных. Вы пробовали idxmax(), как я предлагал?

3. Ваша цель — получить полную строку? или вам просто нужен префикс?

4. Да, я пытался, но он просто отображал идентификатор, но мне нужен был идентификатор с его значением. поэтому я использовал nlargest

5. Да, большое спасибо, брат. Это полностью работает