Панды: как найти максимальное значение в каждой строке


Вы можете использовать следующий базовый синтаксис, чтобы найти максимальное значение в каждой строке 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 на максимальное значение

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *