📅  最后修改于: 2023-12-03 15:12:50.109000             🧑  作者: Mango
集中趋势测度(Central Tendency)是统计学中用来描述数据集中程度的方法。在数据分析中,我们更关心数据所在的「区域」而非具体的每一个数值,因此集中趋势测度可以帮助我们更好地了解数据的特征。
下面列举了常见的集中趋势测度:
均值(Mean)指的是数据相加然后除以数据的个数,是最常见的集中趋势测度之一。均值可以用来描述一组数据的中心位置,常用于连续数据的分析。
mean = (x1 + x2 + x3 + ... + xn) / n
def mean(nums):
return sum(nums) / len(nums)
中位数(Median)指的是将数据从小到大排列,找出中间的那个数或中间两个数的平均数,对于偏态数据能够更好地反映集中趋势。
如果数据个数 n 是奇数,则中位数是第 (n+1)/2 个数;如果 n 是偶数,则中位数是第 n/2 个数和第 n/2+1 个数的平均数。
def median(nums):
nums_sorted = sorted(nums)
n = len(nums_sorted)
if n % 2 == 0:
return (nums_sorted[n//2 - 1] + nums_sorted[n//2]) / 2
else:
return nums_sorted[(n-1) // 2]
众数(Mode)指的是在一组数据中出现频率最多的数值,用来描述数据的集中度。众数可以用于描述离散数据和连续数据。
众数可以通过统计每个数出现的次数,选出出现次数最多的数作为众数。
def mode(nums):
count_dict = {}
for num in nums:
count_dict[num] = count_dict.get(num, 0) + 1
mode = None
mode_count = 0
for num, count in count_dict.items():
if count > mode_count:
mode = num
mode_count = count
return mode
集中趋势测度是用于描述数据集中程度的方法,常见的集中趋势测度有均值、中位数和众数。在数据分析中,通过常见的集中趋势测度,可以更好地了解数据的特点和趋势。