如何找到 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 中列的最大值

添加评论

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