📜  在 python 中查找中位数(1)

📅  最后修改于: 2023-12-03 14:51:06.166000             🧑  作者: Mango

在python中查找中位数

中位数是一组数据中居于中间位置的数值,也可以说是将一组数据划分为相等两个部分的数值。

在Python中,可以使用以下几种方法查找中位数。

方法一:使用numpy库

numpy是Python中科学计算的核心库,它提供了多种数组操作的函数。在numpy库中,可以使用median()函数计算数组的中位数。

以下是使用numpy库计算中位数的示例代码:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
median = np.median(arr)

print("Median of given array is: %s" % median)

上述代码中,首先导入numpy库并创建一个数组。然后使用np.median()函数计算中位数,并将结果打印出来。

方法二:使用statistics库

Python内置的statistics库也提供了计算中位数的函数。使用statistics库计算中位数的方法如下:

import statistics

arr = [1, 2, 3, 4, 5]
median = statistics.median(arr)

print("Median of given array is: %s" % median)

与numpy库计算中位数的方法类似,首先导入statistics库并创建一个数组,然后使用statistics.median()函数计算中位数,并将结果打印出来。

方法三:使用sorted函数

Python的内置函数sorted()可以对数组进行排序。当数组元素的数量为奇数时,中位数就是排序后位于中间位置的元素;当数组元素数量为偶数时,中位数是排序后中间两个元素的平均值。

以下是使用sorted函数计算中位数的示例代码:

arr = [1, 2, 3, 4, 5]
arr_sorted = sorted(arr)
n = len(arr)

if n % 2 == 0:
  median = (arr_sorted[n//2-1] + arr_sorted[n//2]) / 2
else:
  median = arr_sorted[n//2]

print("Median of given array is: %s" % median)

以上代码中,首先创建一个数组并对其进行排序,然后根据数组元素的数量计算中位数,并将结果打印出来。

总结

通过以上的方法,可以在Python中查找一组数据的中位数。如果数据量较大,建议使用numpy库中的函数来计算中位数,因为numpy库在处理大型数组时会更加高效。如果不想使用第三方库,可以使用Python内置的sorted函数和statistics库来计算中位数。