如何计算pandas中的均值、中位数和众数


您可以使用以下函数来计算 pandas DataFrame 中每个数字列的平均值、中位数和众数:

 print ( df.mean (numeric_only= True ))
print (df. median (numeric_only= True ))
print (df. mode (numeric_only= True ))

下面的例子展示了如何在实践中使用这些函数。

示例:计算 Pandas 的平均值、中位数和众数

假设我们有以下 pandas DataFrame,其中包含有关不同篮球运动员在四场不同比赛中得分的信息:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' game1 ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' game2 ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' game3 ': [11, 8, 10, 6, 6, 5, 9, 12],
                   ' game4 ': [9, 8, 10, 9, 14, 15, 10, 11]})
                   
#view DataFrame
print (df)

  player game1 game2 game3 game4
0 A 18 5 11 9
1 B 22 7 8 8
2 C 19 7 10 10
3 D 14 9 6 9
4 E 14 12 6 14
5 F 11 9 5 15
6 G 20 9 9 10
7:28 4 12 11

我们可以使用以下语法来计算每个数字列的平均值

 #calculate mean of each numeric column
print ( df.mean (numeric_only= True ))

game1 18,250
game2 7,750
game3 8.375
game4 10,750
dtype:float64

从结果我们可以看出:

  • game1列中的平均值为18.25
  • game2列中的平均值为7.75
  • game3列中的平均值是8.375
  • game4列中的平均值是10.75

然后我们可以使用以下语法来计算每个数字列的值:

 #calculate median of each numeric column
print (df. median (numeric_only= True ))

game1 18.5
game2 8.0
game3 8.5
game4 10.0
dtype:float64

从结果我们可以看出:

  • game1列中的中值为18.5
  • game2列中的中值为8
  • game3列中的中值为8.5
  • game4列中的中值为10

然后我们可以使用以下语法来计算每个数字列的众数

 #calculate mode of each numeric column
print (df. mode (numeric_only= True ))

   game1 game2 game3 game4
0 14.0 9.0 6.0 9
1 NaN NaN NaN 10

从结果我们可以看出:

  • game1列中的模式是14
  • game2列中的模式是9
  • game3列中的众数是6
  • game4栏中的模式是910

请注意, game4列有两种模式,因为该列中出现最频繁的有两个值。

注意:您还可以使用pandas 中的describe()函数为每列生成更多描述性统计信息。

其他资源

以下教程解释了如何在 pandas 中执行其他常见操作:

如何计算 pandas 的组平均值
如何计算 pandas 中的组中位数
如何在 Pandas 中按组计算众数

添加评论

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