如何在 python 中计算截尾平均值(附示例)


截尾均值是在删除数据集中特定百分比的最小值和最大值后计算出的数据集的平均值。

在 Python 中计算修剪平均值的最简单方法是使用 SciPy 库中的trim_mean()函数。

该函数使用以下基本语法:

 from scipy import stats

#calculate 10% trimmed mean
stats. trim_mean (data, 0.1 )

以下示例展示了如何在实践中使用此函数来计算修剪平均值。

示例 1:计算表格的截尾平均值

以下代码显示如何计算数据表的 10% 修剪平均值:

 from scipy import stats

#define data
data = [22, 25, 29, 11, 14, 18, 13, 13, 17, 11, 8, 8, 7, 12, 15, 6, 8, 7, 9, 12]

#calculate 10% trimmed mean
stats. trim_mean (data, 0.1 )

12,375

10% 修剪平均值为12.375

这是从数据集中删除最小 10% 和最大 10% 的值后的数据集平均值。

示例 2:计算 Pandas 中列的截尾平均值

以下代码显示了如何计算 pandas DataFrame 中特定列的 5% 修剪平均值:

 from scipy import stats
import pandas as pd

#define DataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})


#calculate 5% trimmed mean of points
stats. trim_mean (df. points , 0.05 ) 

20.25

“点”列中的值的 5% 修剪平均值为20.25

这是删除 5% 最小值和 5% 最大值后“点”列的平均值。

示例 3:计算多列的截尾平均值

以下代码显示了如何计算 pandas DataFrame 中多列的 5% 修剪平均值:

 from scipy import stats
import pandas as pd

#define DataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})


#calculate 5% trimmed mean of 'points' and 'assists' columns
stats. trim_mean (df[[' points ', ' assists ']], 0.05 )

array([20.25, 7.75])

从结果我们可以看出:

  • “点”栏的 5% 修剪平均值为20.25
  • “助攻”栏的 5% 修剪平均值为7.75

注意:您可以在此处找到trim_mean()函数的完整文档。

其他资源

如何手动计算截尾平均值
截尾平均值计算器

添加评论

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