Панды: как найти максимальное значение в каждой строке
Вы можете использовать следующий базовый синтаксис, чтобы найти максимальное значение в каждой строке DataFrame pandas:
df[' max '] = df. max (axis= 1 )
Этот конкретный синтаксис создает новый столбец с именем max , который содержит максимальное значение в каждой строке DataFrame.
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: найти максимальное значение в каждой строке в Pandas
Предположим, у нас есть следующий DataFrame pandas:
import pandas as pd
import numpy as np
#createDataFrame
df = pd. DataFrame ({' points ': [4, np.nan, 10, 2, 15, np.nan, 7, 22],
' rebounds ': [np.nan, 3, 9, 7, 6, 8, 14, 10],
' assists ': [10, 9, 4, 4, 3, 7, 10, 11]})
#view DataFrame
print (df)
points rebound assists
0 4.0 NaN 10
1 NaN 3.0 9
2 10.0 9.0 4
3 2.0 7.0 4
4 15.0 6.0 3
5 NaN 8.0 7
6 7.0 14.0 10
7 22.0 10.0 11
Мы можем использовать следующий синтаксис для создания нового столбца с именем max , который содержит максимальное значение в каждой строке:
#create new column that contains max value of each row
df[' max '] = df. max (axis= 1 )
#view updated DataFrame
print (df)
points rebounds assists max
0 4.0 NaN 10 10.0
1 NaN 3.0 9 9.0
2 10.0 9.0 4 10.0
3 2.0 7.0 4 7.0
4 15.0 6.0 3 15.0
5 NaN 8.0 7 8.0
6 7.0 14.0 10 14.0
7 22.0 10.0 11 22.0
Новый столбец с именем max содержит максимальное значение в каждой строке.
Например, мы можем увидеть:
- Максимальное значение в первой строке — 10 .
- Максимальное значение во второй строке — 9 .
- Максимальное значение в третьей строке — 10 .
И так далее.
Также обратите внимание, что функция max() автоматически игнорирует значения NaN при определении максимального значения в каждой строке.
Вы также можете найти максимальное значение в каждой строке только для определенных столбцов.
Например, вы можете использовать следующий синтаксис, чтобы найти максимальное значение в каждой строке и учитывать только столбцы очков и подборов :
#add new column that contains max value of each row for points and rebounds columns
df[' max '] = df[[' points ', ' rebounds ']]. max (axis= 1 )
#view updated DataFrame
print (df)
points rebounds assists max
0 4.0 NaN 10 4.0
1 NaN 3.0 9 3.0
2 10.0 9.0 4 10.0
3 2.0 7.0 4 7.0
4 15.0 6.0 3 15.0
5 NaN 8.0 7 8.0
6 7.0 14.0 10 14.0
7 22.0 10.0 11 22.0
Столбец с именем max теперь содержит максимальное значение в каждой строке только для столбцов очков и подборов .
Примечание . Полную документацию по функции pandas max() можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:
Pandas: как найти максимальное значение в нескольких столбцах
Pandas: вернуть строку с максимальным значением в определенном столбце
Pandas: как заменить inf на максимальное значение