首页 > 数据库 > 数据库开发技术 > 使用numpy快速实现统计分析的常用代码实现
NumPy 是 Python 编程语言中用于数值计算的核心库之一,在统计分析方面,它也提供了各种各样的函数来实现统计分析。

本文介绍一些numpy常用的一些统计分析案例的代码。
import numpy as np
# 示例数据
np.random.seed(0) # 设置随机种子以获得可重复的结果
data = np.random.normal(loc=0.0, scale=1.0, size=(100, 5))
mean_values = np.mean(data, axis=0)
print("Mean values:", mean_values)
std_dev = np.std(data, axis=0)
print("Standard Deviations:", std_dev)
max_values = np.max(data, axis=0)
min_values = np.min(data, axis=0)
print("Max values:", max_values)
print("Min values:", min_values)
median_values = np.median(data, axis=0)
print("Median values:", median_values)
percentiles = np.percentile(data, [25, 50, 75], axis=0)
print("Percentiles:", percentiles)
variance = np.var(data, axis=0)
print("Variances:", variance)
from scipy.stats import skew, kurtosis
skewness = np.apply_along_axis(lambda x: skew(x), 0, data)
kurtosis = np.apply_along_axis(lambda x: kurtosis(x), 0, data)
print("Skewness:", skewness)
print("Kurtosis:", kurtosis)

skew和kurtosis 函数需要至少有三个非零值的数组才能计算,否则它们会抛出错误。这样 apply_along_axis函数 可以沿着第一个轴(即列)来计算。
cumulative_sum = np.cumsum(data, axis=0)
print("Cumulative sum of last row:", cumulative_sum[-1])
normalized_data = (data - np.mean(data, axis=0)) / np.std(data, axis=0)
print("Normalized data sample:", normalized_data[:3])
cumulative_product = np.cumprod(data, axis=0)
print("Cumulative product of last row:", cumulative_product[-1])
geometric_mean = np.exp(np.mean(np.log(np.abs(data)), axis=0))
print("Geometric means:", geometric_mean)
harmonic_mean = np.mean(1 / data, axis=0)**-1
print("Harmonic means:", harmonic_mean)
mask = data > 0
positive_data = data[mask]
print("Positive data count:", len(positive_data))
mad = np.median(np.abs(data - np.median(data, axis=0)), axis=0)
print("Median absolute deviations:", mad)
iqr = np.subtract(*np.percentile(data, [75, 25], axis=0))
print("Interquartile ranges:", iqr)
q1 = np.percentile(data, 25, axis=0)
q3 = np.percentile(data, 75, axis=0)
iqr = q3 - q1
lower_bound = q1 - 1.5 * iqr
upper_bound = q3 + 1.5 * iqr
outliers = ((data < lower_bound) | (data > upper_bound)).any(axis=1)
print("Outliers count:", outliers.sum())
cov_matrix = np.cov(data.T)
print("Covariance matrix:\n", cov_matrix)
corr_matrix = np.corrcoef(data.T)
print("Correlation matrix:\n", corr_matrix)

本文介绍了 NumPy 在执行数据统计分析时的多种高效方法。通过这些方法,大家可以快速掌握统计分析的技巧,并在实际应用中更加灵活地应对各种复杂问题。
原文作者:Python学习杂记;如有侵权,请联系管理员删除。