Pandas: вернуть строку с максимальным значением в определенном столбце
Вы можете использовать следующие методы, чтобы вернуть строку DataFrame pandas, содержащую максимальное значение в определенном столбце:
Способ 1: вернуть строку с максимальным значением
df[df[' my_column '] == df[' my_column ']. max ()]
Способ 2: вернуть индекс строки с максимальным значением
df[' my_column ']. idxmax ()
В следующих примерах показано, как использовать каждый метод на практике со следующим DataFrame pandas:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
' points ': [18, 22, 19, 14, 14, 11, 28, 20],
' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})
#view DataFrame
print (df)
team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 28 9 9
7:20 a.m. 4:12
Пример 1. Возврат строки с максимальным значением
Следующий код показывает, как вернуть строку DataFrame с максимальным значением в столбце точек :
#return row with max value in points column
df[df[' points '] == df[' points ']. max ()]
team points assists rebounds
6 G 28 9 9
Максимальное значение в столбце точек было 28 , поэтому была возвращена строка, содержащая это значение.
Пример 2. Возвращает индекс строки с максимальным значением.
Следующий код показывает, как вернуть только индекс строки с максимальным значением в столбце точек :
#return row that contains max value in points column
df[' points ']. idxmax ()
6
Строка с индексом 6 содержала максимальное значение в столбце точек , поэтому было возвращено значение 6 .
Связанный: Как использовать функцию idxmax() в Pandas (с примерами)
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:
Как найти максимальное значение для группы в Pandas
Как найти максимальное значение столбцов в Pandas