中位数怎么算

时间:2025-02-13 21:11:32 主机游戏

中位数是一组数据排序后位于中间的数值。如果数据个数是奇数,中位数就是正中间的那个数;如果数据个数是偶数,中位数则是中间两个数的平均值。

计算步骤

排序数据

将所有数值按照大小顺序排列。

确定中位数位置

如果数据个数是奇数,中位数是位于 `(数据个数 + 1) / 2` 位置的数。

如果数据个数是偶数,中位数是位于 `数据个数 / 2` 和 `数据个数 / 2 + 1` 位置的两个数的平均值。

示例

奇数个数据

假设有一组数据:`[3, 1, 4, 2, 5]`

1. 排序后得到:`[1, 2, 3, 4, 5]`

2. 数据个数为5(奇数),中位数位置为 `(5 + 1) / 2 = 3`

3. 中位数是排序后位于第3位的数,即 `3`

偶数个数据

假设有一组数据:`[6, 2, 4, 8]`

1. 排序后得到:`[2, 4, 6, 8]`

2. 数据个数为4(偶数),中位数位置为 `4 / 2 = 2` 和 `4 / 2 + 1 = 3`

3. 中位数是排序后位于第2位和第3位的数的平均值,即 `(4 + 6) / 2 = 5`

代码实现

```python

def find_median(data):

sorted_data = sorted(data)

n = len(sorted_data)

if n % 2 == 1:

数据个数为奇数

return sorted_data[n // 2]

else:

数据个数为偶数

mid1 = n // 2 - 1

mid2 = n // 2

return (sorted_data[mid1] + sorted_data[mid2]) / 2

示例数据

data1 = [3, 1, 4, 2, 5]

data2 = [6, 2, 4, 8]

print("奇数个数据的中位数:", find_median(data1)) 输出: 3

print("偶数个数据的中位数:", find_median(data2)) 输出: 5.0

```

通过以上步骤和示例,你可以轻松地计算出任何一组数据的中位数。