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 中执行其他常见任务: