如何找到 pandas 中每组的最小值
您可以使用以下方法来查找 pandas DataFrame 中每组的最小值:
方法 1:按至少一列分组
df. groupby (' group_column ')[' values_column ']. min ()
方法 2:按最小值对多列进行分组
df. groupby (' group_column ')[' values_column1 ', ' values_column2 ']. min ()
以下示例展示了如何在实践中使用以下 pandas DataFrame 的每种方法:
import pandas as pd #create pandas DataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'C', 'C'], ' points ':[24, 23, 27, 11, 14, 8, 13], ' rebounds ': [11, 8, 7, 6, 6, 5, 12]}) #display DataFrame print (df) team points rebounds 0 to 24 11 1 to 23 8 2 B 27 7 3 B 11 6 4 B 14 6 5 C 8 5 6 C 13 12
示例 1:按至少一列进行分组
以下代码显示如何查找按团队列分组的分数列的最小值:
#find minimum value of points, grouped by team df. groupby (' team ')[' points ']. min () team At 23 B 11 C 8 Name: points, dtype: int64
从结果我们可以看出:
- A 队的最低分值是23 。
- B 队的最低分值是11 。
- C 队的最低分值是8 。
示例 2:按最少几列进行分组
以下代码显示如何查找按球队列分组的得分和篮板列的最小值:
#find minimum value of points and rebounds, grouped by team df. groupby (' team ')[[' points ', ' rebounds ']]. min () rebound points team At 23 8 B 11 6 C 8 5
从结果我们可以看出:
A队:
- 最低分数: 23
- 最低篮板数: 8
乙队:
- 最低分数: 11
- 最低篮板数: 6
C队:
- 最低分数: 8
- 最小退回次数: 5
注意:指定值列时使用双括号非常重要,否则可能会收到错误。
其他资源
以下教程解释了如何执行其他常见的 panda 任务:
如何计算 Pandas 中的列总和
如何计算 Pandas 中列的平均值
如何找到 Pandas 中列的最大值