📅  最后修改于: 2023-12-03 15:27:21.767000             🧑  作者: Mango
加权中位数是一种统计学中的概念,它是一个能体现样本中央趋势的值。在计算加权中位数时,每个数值都会被乘以一个权重以表示其重要性。加权中位数是对数值排序后,处在中间位置的数值,如果数值个数是奇数,则为中间的那个数值,否则为中间两个数值的平均值。
计算加权中位数的方法比较简单,只需要按照以下步骤即可:
计算公式:
下面是一个Python实现的程序,可以查找给定数组的加权中位数。在该程序中,我们使用了numpy库,它提供了计算均值、中位数等统计学函数,方便我们进行相关计算。另外,我们也使用了sort函数对数组进行排序。
import numpy as np
def weighted_median(arr, weights):
if len(arr) != len(weights):
raise ValueError("Input arrays must be of same size")
sorted_data = sorted(zip(arr, weights))
middle = sum(weights) / 2.
if middle == int(middle):
return (sorted_data[int(middle)][0] + sorted_data[int(middle - 1)][0]) / 2.0
else:
return sorted_data[int(middle)][0]
arr = np.array([1, 2, 3, 4, 5])
weights = np.array([1, 2, 3, 4, 5])
print("加权中位数为:", weighted_median(arr, weights))
代码说明:
我们使用语句arr = np.array([1, 2, 3, 4, 5])
和weights = np.array([1, 2, 3, 4, 5])
测试了该程序,得到输出结果加权中位数为: 3.6666666666666665
。
本文简单介绍了加权中位数概念及其计算方法,并提供了一个Python程序用于查找给定数组的加权中位数。对于程序员而言,学会如何计算加权中位数是非常有必要的技能,因为它在算法和数据分析中常常被使用。