使用numpy快速实现统计分析的常用代码实现

news2024/12/24 2:12:08

文末赠免费精品编程资料~~

NumPy 是 Python 编程语言中用于数值计算的核心库之一,在统计分析方面,它也提供了各种各样的函数来实现统计分析。

NumPy统计分析功能概览

  • 基本统计量:计算平均值、中位数、众数、标准差、方差等。 

  • 排序和搜索:排序数组、查找最大值、最小值、百分位数等。

  • 聚合操作:求和、乘积、累加等。 

  • 随机数生成:生成随机数,用于模拟和实验设计。 

  • 线性代数:矩阵运算、特征值分解等,间接支持统计建模。

本文介绍一些numpy常用的一些统计分析案例的代码。

示例数据

import numpy as np

# 示例数据
np.random.seed(0)  # 设置随机种子以获得可重复的结果
data = np.random.normal(loc=0.0, scale=1.0, size=(100, 5))

1. 计算每一列的均值

mean_values = np.mean(data, axis=0)
print("Mean values:", mean_values)

图片

2. 计算每一列的标准差

std_dev = np.std(data, axis=0)
print("Standard Deviations:", std_dev)

图片

3. 找出每列的最大值和最小值

max_values = np.max(data, axis=0)
min_values = np.min(data, axis=0)
print("Max values:", max_values)
print("Min values:", min_values)

图片

4. 计算每一列的中位数

median_values = np.median(data, axis=0)
print("Median values:", median_values)

图片

5. 计算每一列的四分位数

percentiles = np.percentile(data, [25, 50, 75], axis=0)
print("Percentiles:", percentiles)

图片

6. 计算每一列的方差

variance = np.var(data, axis=0)
print("Variances:", variance)

图片

7. 计算每一列的偏度和峰度

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函数 可以沿着第一个轴(即列)来计算。

8. 计算每一列的累积和

cumulative_sum = np.cumsum(data, axis=0)
print("Cumulative sum of last row:", cumulative_sum[-1])

图片

9. 使用广播进行数据标准化

normalized_data = (data - np.mean(data, axis=0)) / np.std(data, axis=0)
print("Normalized data sample:", normalized_data[:3])

图片

10. 计算每一列的累乘

cumulative_product = np.cumprod(data, axis=0)
print("Cumulative product of last row:", cumulative_product[-1])

图片

11. 计算每一列的几何平均数

geometric_mean = np.exp(np.mean(np.log(np.abs(data)), axis=0))
print("Geometric means:", geometric_mean)

图片

12. 计算每一列的调和平均数

harmonic_mean = np.mean(1 / data, axis=0)**-1
print("Harmonic means:", harmonic_mean)

图片

13. 使用高级索引进行数据筛选

mask = data > 0
positive_data = data[mask]
print("Positive data count:", len(positive_data))

图片

14. 计算每一列的中位绝对偏差

mad = np.median(np.abs(data - np.median(data, axis=0)), axis=0)
print("Median absolute deviations:", mad)

图片

15. 计算每一列的四分位距

iqr = np.subtract(*np.percentile(data, [75, 25], axis=0))
print("Interquartile ranges:", iqr)

图片

16. 离群值检测

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())

图片

17. 计算每一列的协方差矩阵

cov_matrix = np.cov(data.T)
print("Covariance matrix:\n", cov_matrix)

图片

18. 计算每一列的相关系数矩阵

corr_matrix = np.corrcoef(data.T)
print("Correlation matrix:\n", corr_matrix)

图片

本文介绍了 NumPy 在执行数据统计分析时的多种高效方法。通过这些方法,大家可以快速掌握统计分析的技巧,并在实际应用中更加灵活地应对各种复杂问题。

文末福利

如果你对Python感兴趣的话,可以试试我整理的这一份全套的Python学习资料,【点击这里】免费领取!

包括:Python激活码+安装包、Python
web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

① Python所有方向的学习路线图,清楚各个方向要学什么东西

② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析

③ 100多个Python实战案例,学习不再是只会理论

④ 华为出品独家Python漫画教程,手机也能学习

⑤ 历年互联网企业Python面试真题,复习时非常方便

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2092013.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

8款对比分析:哪款协同办公软件最适合您的团队?

文章介绍了以下几个工具&#xff1a;1. Worktile&#xff1b;2. PingCode&#xff1b;3. 钉钉&#xff1b;4. 有道云协作&#xff1b;5. 云之家&#xff1b;6. 飞书&#xff1b;7. 语雀&#xff1b;8. Airtable。 在当今快节奏的工作环境中&#xff0c;找到一款能够无缝同步文件…

全网最全软件测试面试题(含答案解析+文档)

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、软件测试基础面试题 1、阐述软件生命周期都有哪些阶段? 常见的软件生命周期模型有哪些? 软件生命周期是指一个计算机软件从功能确定设计&#xff0c;到…

SPI通信(一)

1 硬件多&#xff0c;导致资源浪费&#xff08;速度快&#xff09; 1 就是分别用于发送和接收的两条线路 MOSI和MISO 2 全双工&#xff1a;MOSI(主机发送&#xff0c;从机接收) MISO(从机发送&#xff0c;主机接收) 3 支持总线挂载多设备&#xff08;一主多从&#xff09; …

初试构建工具Webpack

文章目录 一、Webpack概述二、安装Webpack三、Webpack打包实战1、创建index.js2、创建index.html3、运行webpack4、浏览index.html5、添加第二个脚本&#xff08;1&#xff09;创建index2.js&#xff08;2&#xff09;修改index.js&#xff08;3&#xff09;重新运行 webpack&a…

乱弹篇(44)涨洪水了

今&#xff08;2024年8月31日&#xff09;晨&#xff0c;笔者一如既往地骑上小型电三轮车&#xff0c;去到了寄居养老已逾六年的崇州市街子古镇味江河边遛弯健身。放眼远眺&#xff0c;啊&#xff01;涨洪水了。 照片&#xff1a;笔者手机自拍 看那刚刚修建好的&#xff0c;沿…

【C++】1326. 需要安排几位师傅加工零件

问题&#xff1a;1326. 需要安排几位师傅加工零件 类型&#xff1a;贪心 题目描述&#xff1a; 某工厂有 n 个零件加工的师傅&#xff0c;每位师傅每天能够加工出不同数量的零件。 现有 m 个零件要求一天加工完&#xff0c;请问该工厂最少需要派几个师傅来完成这次零件加工任…

兴业证券基于Apache DolphinScheduler的应用实践

文 / 兴业证券股份有限公司 刘洋 石良生 柳君 李致琪 本文来源于网络&#xff0c;如有侵权&#xff0c;请联系删除 任务调度平台&#xff0c;扮演着自动执行预设任务的重要角色&#xff0c;是业务开展过程中不可或缺的一环。随着业务规模的不断扩展&#xff0c;兴业证券每日…

物联网之硬件元器件基础知识介绍、集成电路、电阻器、电容器、电感器、二极管、三极管、晶体管、连接器、传感器、开关、电源

MENU 前言电子元件采购网址三极管持续更新中 前言 序言 硬件元器件是电子设备和系统的基本构成部分&#xff0c;它们在电子产品的设计、制造和功能实现中起着至关重要的作用。 电阻器(Resistor) 功能&#xff1a;电阻器用于限制电流流过电路的流动&#xff0c;并分配电压。它们…

【复旦微FM33 MCU 外设开发指南】外设篇3——SPI

前言 本系列基于复旦微FM33系列单片机的DataSheet编写&#xff0c;旨在提供一些开发指南。 本文章及本系列其他文章将持续更新&#xff0c;本系列其它文章请跳转【复旦微FM33 MCU 外设开发指南】总集篇 本文章最后更新日期&#xff1a;2024/08/31 文章目录 前言GPIO配置SPI配…

钓鱼特辑(四)安全较量,摆脱“麻瓜”标签

时至今日&#xff0c;尽管员工们对网络安全有所了解&#xff0c;却往往因缺乏足够的安全意识而对攻防没有直观感知。在红队看来&#xff0c;普通员工可能犹如“麻瓜”&#xff0c;防御薄弱&#xff0c;易于突破。 现在红队以求职者或合作方等“人畜无害”的身份在日常沟通中发动…

2024年【广东省安全员C证第四批(专职安全生产管理人员)】新版试题及广东省安全员C证第四批(专职安全生产管理人员)考试试卷

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 广东省安全员C证第四批&#xff08;专职安全生产管理人员&#xff09;新版试题是安全生产模拟考试一点通生成的&#xff0c;广东省安全员C证第四批&#xff08;专职安全生产管理人员&#xff09;证模拟考试题库是根据…

adb大全指令(持续更新)

连接adb adb connect 192.168.1.133(局域网ip)连接调试命令 adb shell打开日志工具 logcat

Shopify接口开发工具shopify-sdk踩坑

背景&#xff1a;   先介绍一下shopify-sdk&#xff0c;它使用java语言开发&#xff0c;是用来做shopify接口二次开发的。做过Shopify独立站的都知道&#xff0c;shopify店铺有管理后台去给管理员增删改查商品和订单等数据&#xff0c;这些数据其实都是可以通过shopify提供的…

uniapp__微信小程序如何对比时间组件框选中框之后的时间大小

1、时间组件框选择时间 2、做判断 if (new Date(selectedDate) < new Date(this.startDate)) {uni.showToast({title: 结束时间不能早于起始时间,icon: none,duration: 2000});return;}console.log(new Date(selectedDate),new Date(this.endDate)); 3、打印出来的时间对比…

C#设计模式

前言 大家熟知的GOF23种设计模式&#xff0c;源自《Design Patterns: Elements of Reusable Object-Oriented Software》一书&#xff0c;由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著&#xff0c;四人组Gang of Four简称GOF&#xff01;总结了在面 向…

【例002】利用MATLAB绘制有趣的空间曲线

题目&#xff1a;利用MATLAB绘制以下函数的空间曲线 空间曲线1&#xff1a; { x cos ⁡ ( 3 t ) y sin ⁡ ( 3 t ) for − m 1000 ≤ t ≤ m 1000 z t \begin{cases} x \cos(3t) \\ y \sin(3t) & \text{for } -\frac{m}{1000} \leq t \leq \frac{m}{1000} \\ z t …

心理健康问答系统-AIGC大模型-小程序制作

制作一个心理健康问答系统的小程序&#xff0c;涉及到多个环节和技术领域。这里将从需求分析、技术选型、开发流程、API调用等方面进行详细说明。 一、需求分析与规划 在开始任何项目之前&#xff0c;首先需要明确的是你的小程序想要解决什么样的问题&#xff0c;提供哪些功…

Spring——控制反转(IOC)与依赖注入(DI)

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…

【C++题解】1722 - 输出两位的巧数

问题&#xff1a;1722 - 输出两位的巧数 类型&#xff1a;简单循环 题目描述&#xff1a; 巧数指的是这样一种特殊的数&#xff0c;该数的各个位数字之和加上各个位数字之积等于本身的自然数。 比如整数 19 &#xff0c;就是一个巧数&#xff0c;因为(19)(19)10919。 请编程输…

DataWhale AI夏令营 2024大运河杯-数据开发应用创新赛-task3

DataWhale AI夏令营 2024大运河杯-数据开发应用创新赛 数据增强数据收集打标签 多的不说少的不唠&#xff0c;之前说过初赛基本就是比谁的数据好了&#xff0c;因为原始数据的质量太低了想跑到0.25都很难所以需要使用一些数据增强策略以及收集一些新的数据集。 数据增强 计算…