Pandas:如何找到每一行的最大值


您可以使用以下基本语法来查找 pandas DataFrame 的每一行中的最大值:

 df[' max '] = df. max (axis= 1 )

这种特殊的语法创建一个名为max的新列,其中包含 DataFrame 的每一行中的最大值。

以下示例展示了如何在实践中使用此语法。

示例:查找 Pandas 中每一行的最大值

假设我们有以下 pandas DataFrame:

 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

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注