在Python中计算基础统计量,通常我们会用到NumPy库和Pandas库,这些库提供了丰富的方法来处理数组或数据集的基本统计分析。以下是一些基本统计量的计算方法:
NumPy 提供了对一维数组(向量)进行统计计算的函数:
- 平均值(Mean):
numpy.mean(a)
- 中位数(Median):
numpy.median(a)
- 标准差(Standard Deviation):
numpy.std(a, ddof=0)
(ddof参数用来指定自由度,默认为0) - 方差(Variance):
numpy.var(a, ddof=0)
- 最小值(Minimum):
numpy.min(a)
- 最大值(Maximum):
numpy.max(a)
- 总和(Sum):
numpy.sum(a)
- 众数(Mode):不直接提供,但可以使用第三方库如
scipy.stats.mode(a)
实现 - 四分位数(Quartiles):
- 第一个四分位数(Q1/下四分位数):
numpy.percentile(a, 25)
- 第三个四分位数(Q3/上四分位数):
numpy.percentile(a, 75)
- 四分位范围(IQR):
numpy.subtract(*numpy.percentile(a, [75, 25]))
- 第一个四分位数(Q1/下四分位数):
- 平均值(Mean):
Pandas 对于DataFrame和Series对象提供了更强大的统计功能:
- 描述性统计:一次性获取多个统计量,包括计数、平均值、标准差、最小值、四分位数等:
df['column_name'].describe()
- 对于整个DataFrame:
df.describe(include='all')
(包括数值型和类别型列)
- 描述性统计:一次性获取多个统计量,包括计数、平均值、标准差、最小值、四分位数等:
示例代码片段:
import numpy as np
import pandas as pd
# NumPy 示例
data = np.array([1, 2, 3, 4, 5])
mean_value = np.mean(data)
median_value = np.median(data)
std_dev = np.std(data)
# Pandas 示例
df = pd.DataFrame({
'A': data, 'B': [6, 7, 8, 9, 10]})
series_stats = df['A'].describe()
df_stats = df.describe()
此外,对于更复杂的数据分析,你还可以利用Pandas提供的分组统计(groupby)、数据透视表(pivot_table)等功能进行更深入的统计分析。