Numpy科学计算与数据分析:Numpy数据分析基础之统计函数应用

Numpy统计函数实战:数据的聚合与分析

学习目标

通过本课程的学习,学员将掌握Numpy中用于统计分析的关键函数,如求和(sum)、平均值(mean)、标准差(std)等,能够熟练地在实际数据集中应用这些函数进行数据的聚合与分析。

相关知识点

Numpy中的统计函数

学习内容

1 Numpy中的统计函数

1.1 Numpy数组的创建与基本操作

在开始学习Numpy的统计函数之前,首先需要了解如何创建Numpy数组以及一些基本的操作。Numpy数组是Numpy库中最基本的数据结构,它支持高效的数值计算。Numpy数组可以是一维的,也可以是多维的,这取决于数据的需求。

1.1.1 创建Numpy数组

创建Numpy数组最简单的方法是使用numpy.array()函数,该函数接受一个列表(或列表的列表)作为输入,并返回一个Numpy数组。例如,创建一个一维数组和一个二维数组:

import numpy as np# 一维数组
one_d_array = np.array([1, 2, 3, 4, 5])
print("一维数组:", one_d_array)# 二维数组
two_d_array = np.array([[1, 2, 3], [4, 5, 6]])
print("二维数组:\n", two_d_array)
1.1.2 基本操作

Numpy数组支持多种基本操作,如索引、切片、重塑等。这些操作对于数据处理非常有用。例如,可以使用索引来访问数组中的特定元素,使用切片来获取数组的一部分,使用reshape函数来改变数组的形状。

import numpy as np
# 一维数组
one_d_array = np.array([1, 2, 3, 4, 5])
print("一维数组:", one_d_array)# 二维数组
two_d_array = np.array([[1, 2, 3], [4, 5, 6]])
print("二维数组:\n", two_d_array)# 索引
print("一维数组的第二个元素:", one_d_array[1])# 切片
print("一维数组的前三个元素:", one_d_array[:3])# 重塑
reshaped_array = two_d_array.reshape(3, 2)
print("重塑后的二维数组:\n", reshaped_array)
1.2 统计函数:sum, mean, std

Numpy提供了多种统计函数,用于对数组中的数据进行聚合和分析。这些函数包括求和(sum)、平均值(mean)、标准差(std)等,它们可以帮助人们快速了解数据的分布情况。

1.2.1 求和(sum)

sum函数用于计算数组中所有元素的总和。对于多维数组,可以通过指定axis参数来控制沿着哪个轴进行求和。

import numpy as np
# 一维数组
one_d_array = np.array([1, 2, 3, 4, 5])# 二维数组
two_d_array = np.array([[1, 2, 3], [4, 5, 6]])# 一维数组求和
print("一维数组的总和:", one_d_array.sum())# 二维数组求和
print("二维数组的总和:", two_d_array.sum())
print("二维数组沿第一轴求和:\n", two_d_array.sum(axis=0))
print("二维数组沿第二轴求和:\n", two_d_array.sum(axis=1))
1.2.2 平均值(mean)

mean函数用于计算数组中所有元素的平均值。同样,对于多维数组,可以通过指定axis参数来控制沿着哪个轴计算平均值。

import numpy as np# 一维数组
one_d_array = np.array([1, 2, 3, 4, 5])# 二维数组
two_d_array = np.array([[1, 2, 3], [4, 5, 6]])# 一维数组平均值
print("一维数组的平均值:", one_d_array.mean())# 二维数组平均值
print("二维数组的平均值:", two_d_array.mean())
# 沿着水平轴线压缩
print("二维数组沿第一轴的平均值:\n", two_d_array.mean(axis=0))
# 沿着竖直轴线压缩
print("二维数组沿第二轴的平均值:\n", two_d_array.mean(axis=1))
1.2.3 标准差(std)

std函数用于计算数组中所有元素的标准差,标准差是衡量数据分布离散程度的一个重要指标。对于多维数组,同样可以通过指定axis参数来控制沿着哪个轴计算标准差。

import numpy as np
# 一维数组
one_d_array = np.array([1, 2, 3, 4, 5])# 二维数组
two_d_array = np.array([[1, 2, 3], [4, 5, 6]])# 一维数组标准差
print("一维数组的标准差:", one_d_array.std())# 二维数组标准差
print("二维数组的标准差:", two_d_array.std())
print("二维数组沿第一轴的标准差:\n", two_d_array.std(axis=0))
print("二维数组沿第二轴的标准差:\n", two_d_array.std(axis=1))
1.3 数据聚合与分析

在实际的数据分析中,经常需要对数据进行聚合和分析,以提取有用的信息。Numpy的统计函数提供了强大的工具,使得这些操作变得简单而高效。

1.3.1 数据聚合

数据聚合是指将数据集中的多个值合并成一个或几个值的过程。在Numpy中,可以通过使用sum、mean、std等函数来实现数据的聚合。例如,假设有一个包含多个学生考试成绩的数据集,则可以通过计算平均分来了解整体的学术表现。

import numpy as np
# 假设有一个包含多个学生考试成绩的数据集
scores = np.array([85, 92, 78, 90, 88, 95, 80, 85, 92, 88])# 计算平均分
average_score = scores.mean()
print("平均分:", average_score)# 计算标准差
std_deviation = scores.std()
print("标准差:", std_deviation)
1.3.2 数据分析

数据分析是指通过统计方法来探索数据的特征和模式。在Numpy中,可以通过使用统计函数来分析数据的分布情况,例如,计算数据的最小值、最大值、中位数等。

import numpy as np# 假设有一个包含多个学生考试成绩的数据集
scores = np.array([85, 92, 78, 90, 88, 95, 80, 85, 92, 88])# 计算最小值
min_score = scores.min()
print("最低分:", min_score)# 计算最大值
max_score = scores.max()
print("最高分:", max_score)# 计算中位数
median_score = np.median(scores)
print("中位数:", median_score)

通过本课程的学习,学员将能够熟练地使用Numpy的统计函数进行数据的聚合与分析,为更复杂的数据科学任务打下坚实的基础。


1. Numpy入门:数组操作与科学计算基础
2. Numpy入门:多平台安装与基础环境配置
3. Numpy数组创建与应用入门
4. Numpy数组属性入门:形状、维度与大小
5. Numpy数组索引与切片入门
6. Numpy数组操作入门:合并、分割与重塑
7. Numpy数学函数入门与实践
8. Numpy数据分析基础:统计函数应用
9. Numpy随机数生成入门
10. Numpy线性代数基础与实践
11. Numpy文件操作入门:数组数据的读取与保存
12. Numpy广播机制入门与实践
13. Numpy布尔索引与花式索引实战
14. Numpy高效数据处理与优化
15. Numpy数据分析与图像处理入门

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

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

相关文章

从引导加载程序到sysfs:Linux设备树的完整解析与驱动绑定机制

摘要本报告旨在为嵌入式Linux开发者详细梳理设备树(Device Tree, DT)在系统启动中的完整解析流程。报告将从引导加载程序(Bootloader)如何准备和传递设备树二进制文件(DTB)开始,逐步深入到内核如…

基于深度学习的污水新冠RNA测序数据分析系统

基于深度学习的污水新冠RNA测序数据分析系统 摘要 本文介绍了一个完整的基于深度学习技术的污水新冠RNA测序数据分析系统,该系统能够从未经处理的污水样本中识别新冠病毒变种、监测病毒动态变化并构建传播网络。我们详细阐述了数据处理流程、深度学习模型架构、训练…

宝塔面板配置Nacos集群

一、环境准备 准备三台及以上的服务器,我这里准备了3台服务器,172.31.5.123~125;分别安装好宝塔面板,软件商店里安装nacos;二、Nacos集群配置 配置数据库连接:​ 进入每台服务器上 Nacos 解压后…

Spring Boot 3.x 全新特性解析

Spring Boot 是企业级 Java 开发中最常用的框架之一。自 Spring Boot 3.x 发布以来,其引入的一系列重大变更与优化,为开发者提供了更现代、更高效的开发体验。本文将重点解析 Spring Boot 3.x 的关键特性及其对项目架构的影响。 一、基于 Jakarta EE 10 …

2025.8.10总结

今天晚上去跑了2公里,跑完还挺爽的,然后花了1.5个小时去公司刷题,没有进行限时练,花了一周的时间才做完这题,共找了20个bug,虽然没有进行限时练,但我仿佛对测试技术掌握得更好了,知道…

qt中实现QListWidget列表

使用最基本的QListWidgetItem来创建列表项,具体使用下面setText、setIcon、addItem这三个方法#include "mainwindow.h" #include "ui_mainwindow.h" #include "QDebug"enum CustomRoles {IdRole Qt::UserRole, // 存储IDPhoneR…

nginx-主配置文件

nginx-主配置文件一、主配置文件nginx.conf内容二、修改配置的文件后的操作三、配置虚拟主机的域名1. 修改nignx.conf配置文件2. 新建域名对应的网页根目录3. 重载nginx配置4. 验证一、主配置文件nginx.conf内容 [rootweb1 conf]# cat nginx.conf#user nobody; # nginx woke…

DBSACN算法的一些应用

以下是 DBSCAN 算法在 Python 中的几个典型应用示例,涵盖了基础使用、参数调优和可视化等方面:import numpy as np import matplotlib.pyplot as plt from sklearn.cluster import DBSCAN from sklearn.datasets import make_moons, make_blobs from skl…

java9学习笔记-part1

G1 成为默认垃圾回收器在 Java 8 的时候,默认垃圾回收器是 Parallel Scavenge(新生代)Parallel Old(老年代)。到了 Java 9, CMS 垃圾回收器被废弃了,G1(Garbage-First Garbage Collector&#x…

【github.io静态网页 怎么使用 github.io 搭建一个简单的网页?】

这里是一张展示 GitHub Pages 静态网站架构与部署流程的示意图,可以帮助你更直观理解整个流程。 要使用 github.io(GitHub Pages)搭建一个简单的网页,你可以按照以下步骤操作: 快速入门:个人网站&#xff…

记录一次ubuntu20.04 解决gmock not found问题的过程

在电脑上源码编译moveit,系统是ubuntu20.04,有三个电脑,分别叫做A,B,C好了,A和C都可以很顺畅地走流程编译通过,但是B遇到了gmock not found的问题,一开始没当回事,感觉重装下库,或者…

Java基础编程核心案例:从逻辑到应用

Java编程的核心在于将逻辑思维转化为可执行的代码。本专栏通过8个实用案例,覆盖条件判断、循环结构、数组操作、用户交互等基础知识点,展示如何用Java解决实际问题,从简单游戏到数据计算,逐步构建编程思维。 案例一:剪…

Starlink卫星终端对星策略是终端自主执行的还是网管中心调度的?

以下文章首先来源于Google Gemini的Deep Research的内容,在Deep Research的报告参考了SpaceX公开信息、FCC技术报告、相关专利(如US9906292B2)以及学术研究的综合分析,并参考了RFWirelessWorld和APNIC博客等二次来源。 文章完成之后,前后发给了Grok和deepseek,让Grok和d…

【CDA案例】数据分析案例拆解:解锁数据分析全流程!

在当今数字化时代,数据如同一座座金矿,蕴含着巨大的价值。企业、组织乃至个人都渴望从海量的数据中挖掘出有用的信息,以指导决策、优化运营、提升竞争力。今天我们以一个实际的数据分析案例为蓝本,深入拆解其全过程,带…

vulnhub-drippingblues靶场攻略

1.打开靶场,我们将网络连接方式改为NAT模式2.然后使用nmap扫描一下nat的网段3.存在21,22,80端口我们先来看一下21端口的ftp协议,发现可以直接匿名登录,并且可以下载存在的东西4.但是这个压缩包被加密了,我们…

afsim2.9_使用QtCreator和VSCode编译

使用QtCreator和VSCode编译AFSIM2.9源代码指南 准备工作 在开始编译AFSIM2.9源代码前,需要确保您的开发环境满足以下条件: 安装QtCreator安装Visual Studio Code(最新稳定版)获取AFSIM2.9源代码包安装必要的编译工具链&#xf…

TC39x STM(System Timer)学习记录

STM有哪些特性?自由运行的 64 位计数器所有 64 位可同步读取可同步读取 64 位计数器的不同 32 位部分基于与 STM 部分内容的比较匹配,灵活地产生服务请求在应用复位后自动开始计数若 ARSTDIS.STMxDIS 位清零,应用复位将复位 STM 寄存器&#…

css初学者第四天

<1>snipaste工具的使用snipaste是一个简单但强大的截图工具&#xff0c;也可以让你将截图贴回屏幕上。常用的快捷方式&#xff1a;1、F1可以截图&#xff0c;同时测量大小&#xff0c;设置箭头 书写文字等2、F3在桌面置顶显示3、点击图片&#xff0c;alt可以取色&#xf…

CompletableFuture实现Excel 多个sheet页批量导出

CompletableFuture实现Excel 多个sheet页批量导出 文章目录 CompletableFuture实现Excel 多个sheet页批量导出 为什么不能直接合并文件或Sheet? 我的方案合理性 1. 操作实现步骤 1.1、导入所需要的依赖 1.2 、Excel 导入导出对象 1.3、异步生成 Excel 文件到指定路径 1.4、合并…

搭建本地 Git 服务器

以下是搭建本地 Git 服务器的通用步骤&#xff0c;支持团队协作或私有仓库管理&#xff1a;方法 1&#xff1a;基于 SSH 的简单部署&#xff08;适合小团队&#xff09; 步骤 1&#xff1a;安装 Git 在服务器上安装 Git&#xff08;以 Ubuntu 为例&#xff09;&#xff1a; sud…