数据分析基础:numpy学习

发布时间:2026/7/25 1:22:40

数据分析基础:numpy学习
数据分析基础numpy学习引言大家好我是你们的老朋友——一个资深技术博主。今天我们来聊聊数据分析的入门利器NumPy。很多人刚接触数据分析时可能会被各种库搞晕但NumPy绝对是绕不开的第一关。它就像数据分析的“地基”没有它后续的Pandas、Matplotlib等库就无从谈起。那么NumPy到底是什么它为什么这么重要别急跟着我一步步探索你很快就能上手NumPyNumerical Python的缩写是Python中用于科学计算的核心库。它提供了高性能的多维数组对象ndarray以及对这些数组进行各种操作的函数。简单来说NumPy就是让Python能像MATLAB或R语言一样高效处理数值数据的“瑞士军刀”。它的核心优势在于速度极快底层用C语言实现、内存占用小、支持向量化操作避免Python循环。在本文中我们将通过通俗易懂的解释和代码示例带你掌握NumPy的基础知识。读完这篇文章你不仅能创建和操作NumPy数组还能理解为什么它在数据分析中如此重要。## 安装与导入开始之前确保你的Python环境已经安装了NumPy。如果未安装可以通过pip命令进行安装bashpip install numpy安装完成后在代码中导入NumPy通常我们使用别名nppythonimport numpy as np这个习惯约定俗成几乎所有Python开发者都这么用。接下来我们正式进入NumPy的世界## 创建NumPy数组从列表到多维数组NumPy的核心是ndarrayN维数组对象。它和Python列表类似但功能更强大。创建数组最直接的方式是从列表转换。### 示例1从列表创建一维和二维数组pythonimport numpy as np# 从列表创建一维数组arr1d np.array([1, 2, 3, 4, 5])print(一维数组, arr1d)# 输出一维数组 [1 2 3 4 5]# 从嵌套列表创建二维数组矩阵arr2d np.array([[1, 2, 3], [4, 5, 6]])print(二维数组)print(arr2d)# 输出# 二维数组# [[1 2 3]# [4 5 6]]# 查看数组形状print(arr1d的形状, arr1d.shape) # (5,)print(arr2d的形状, arr2d.shape) # (2, 3)# 查看数组维度print(arr1d的维度, arr1d.ndim) # 1print(arr2d的维度, arr2d.ndim) # 2解释- 使用np.array()可以从任何可迭代对象如列表、元组创建数组。-shape属性返回一个元组表示数组各维度的大小。例如(2, 3)表示2行3列。-ndim属性返回数组的维数。除了从列表创建NumPy还提供了许多便捷函数例如np.zeros()、np.ones()、np.arange()等用于生成特定模式的数组。比如np.zeros((3, 4))会创建一个3行4列的全零数组。## 数组操作索引、切片与广播NumPy数组支持类似Python列表的索引和切片操作但功能更丰富。更重要的是它支持“广播”机制可以在不同形状的数组之间进行算术运算。### 示例2索引、切片与广播运算pythonimport numpy as np# 创建一个3x4的随机数组arr np.random.randn(3, 4) # randn生成标准正态分布的随机数print(原始数组)print(arr)# 索引获取第2行第3列的元素注意索引从0开始element arr[1, 2] # 第1行第2列因为索引从0开始实际是第2行第3列print(第2行第3列元素, element)# 切片获取前两行所有列sub_arr arr[:2, :] # 行索引0和1列全部print(前两行)print(sub_arr)# 广播运算给数组每个元素加5arr_plus_5 arr 5print(所有元素加5后的结果)print(arr_plus_5)# 广播运算数组与一维数组相加自动扩展row_vector np.array([1, 2, 3, 4])result arr row_vector # 自动将row_vector广播到3行print(数组与行向量相加)print(result)解释- 索引使用[行号, 列号]的语法多维索引用逗号分隔。- 切片使用[起始:结束:步长]的语法与Python列表类似。- 广播机制是NumPy的“黑魔法”当两个数组形状不同时NumPy会自动扩展较小数组使其与较大数组兼容。例如3x4的数组加上长度为4的一维数组NumPy会将一维数组视为3行每行重复这个向量前提是维度兼容。广播的关键规则1. 如果两个数组的维度数不同小维度的数组会在前面补1。2. 如果两个数组在某个维度上的大小不一致且其中一个为1则这个维度会被扩展。3. 如果两个维度都不为1且不一致则报错。例如arr (3, 4) row_vector (4,)中row_vector被视为(1, 4)然后扩展为(3, 4)。这大大简化了代码避免了显式循环。## 常用函数统计与数学运算NumPy内置了大量数学和统计函数让数据分析变得轻松。以下是一些常用函数-统计函数np.mean()均值、np.sum()求和、np.std()标准差、np.max()最大值等。-数学函数np.sin()正弦、np.exp()指数、np.sqrt()平方根等。-数组操作np.reshape()改变形状、np.transpose()转置、np.concatenate()合并等。pythonimport numpy as np# 创建一个数组data np.array([[1, 2, 3], [4, 5, 6]])# 计算所有元素的均值mean_val np.mean(data)print(均值, mean_val) # 3.5# 计算每列的和col_sum np.sum(data, axis0) # axis0表示对行操作即纵向print(每列的和, col_sum) # [5 7 9]# 计算每行的最大值row_max np.max(data, axis1) # axis1表示对列操作即横向print(每行的最大值, row_max) # [3 6]# 改变数组形状注意元素总数不变reshaped data.reshape(3, 2) # 变成3行2列print(重塑后的数组)print(reshaped)提示axis参数是NumPy中一个关键概念。axis0表示沿着行的方向垂直方向axis1表示沿着列的方向水平方向。理解它可以帮助你准确地进行行列操作。## 总结今天我们轻松愉快地学习了NumPy的基础知识。从创建数组、索引切片到广播机制和常用函数每一步都包含了代码示例让你能立即动手实践。NumPy的强大之处在于它将复杂的数值计算抽象为简洁的向量化操作让你摆脱繁琐的Python循环专注于数据分析本身。如果你刚开始学习数据分析一定要花时间熟悉NumPy。它不仅是Pandas、Scikit-learn等库的基石也是你理解数据结构的起点。记住编程技能就像肌肉只有多练才能变得更强。建议你打开Jupyter Notebook跟着本文的示例敲一遍然后尝试创建自己的数组进行各种运算。最后送给大家一句话“NumPy学得好数据分析没烦恼。”下次我们将继续探讨Pandas敬请期待如果你有任何问题欢迎在评论区留言我们下期见

相关新闻

设备维修APP开发的市场及需求分析

设备维修APP开发的市场及需求分析

2026/7/25 1:22:40

在日常生活中,设备的故障同样是比较常见的一项,毕竟设备或多或少都会遇到一点问题,那么如果可以通过设备维修APP开发来进行维护的话,可以更好地保障用户的体验。一方面,通过设备维修APP开发的形式能够为用户提供一个比…

Adobe-GenP 3.0:5分钟快速解锁Adobe全家桶的终极解决方案

Adobe-GenP 3.0:5分钟快速解锁Adobe全家桶的终极解决方案

2026/7/25 1:12:40

Adobe-GenP 3.0:5分钟快速解锁Adobe全家桶的终极解决方案 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP 在创意设计领域,Adobe Creative Cl…

5分钟快速上手:使用Firefox脚本轻松下载Sketchfab 3D模型完整指南

5分钟快速上手:使用Firefox脚本轻松下载Sketchfab 3D模型完整指南

2026/7/25 1:12:40

5分钟快速上手:使用Firefox脚本轻松下载Sketchfab 3D模型完整指南 【免费下载链接】sketchfab sketchfab download userscipt for Tampermonkey by firefox only 项目地址: https://gitcode.com/gh_mirrors/sk/sketchfab 你是否曾经在Sketchfab上发现了一个惊…

希沃V20 AI学习机深度技术拆解:精准学与专注系统如何解决真实学习痛点

希沃V20 AI学习机深度技术拆解:精准学与专注系统如何解决真实学习痛点

2026/7/25 2:22:43

1. 这篇文章真正要解决的问题 当“AI学习机”成为教育硬件市场的热门标签,我们真正需要警惕的是什么?是层出不穷的营销话术,还是那些被过度包装却无法落地的“伪智能”功能?今天,我们不谈空泛的概念,而是聚焦于一款具体产品——希沃V20 AI学习机,来探讨一个核心问题:在…

MSP430FG66xx模拟外设与低功耗模式实战:从原理到超长续航设计

MSP430FG66xx模拟外设与低功耗模式实战:从原理到超长续航设计

2026/7/25 2:22:43

1. 项目概述与核心价值在电池供电的嵌入式系统里,我们总是在做一道经典的“加减法”:如何在有限的能量预算内,既保证模拟信号链路的精度,又实现超长的待机时间。过去,这往往意味着要在外部挂载一堆高精度、低功耗的运放…

LLM注意力机制优化:动态稀疏掩码技术与实践

LLM注意力机制优化:动态稀疏掩码技术与实践

2026/7/25 2:22:43

1. 注意力机制的本质与优化方向大型语言模型(LLM)的核心组件之一是注意力机制,它决定了模型如何处理输入序列中不同位置信息的关系。传统注意力机制通过计算查询(Query)、键(Key)和值&#xff0…

AI视频剪辑实战:基于browser-use/video-use的自动化工作流解析

AI视频剪辑实战:基于browser-use/video-use的自动化工作流解析

2026/7/25 2:22:43

大家好,我是专注于技术实战分享的博主。今天我们来深入探讨一个近期在开发者社区中热度颇高的开源项目—— browser-use/video-use 。如果你曾为视频剪辑的繁琐流程而头疼,或者对如何将大语言模型(LLM)与音视频处理结合感到好奇,那么这篇文章正是为你准备的。我们将从零…

上海B端抖音运营破局:2026年实测代运营公司深度评测与推荐指南

上海B端抖音运营破局:2026年实测代运营公司深度评测与推荐指南

2026/7/25 2:22:43

中小制造企业投入抖音运营,超六成效果不佳。我们历时一个月实地调研,从12家服务商中筛选出专注工业B2B赛道的专业力量,为上海企业主提供一份可落地的选型参考。一、上海企业抖音运营的三大困境2026年,抖音早已不是“随手一拍就能火…

KES MCP Server怎么用?开发工具直连数据库配置步骤

KES MCP Server怎么用?开发工具直连数据库配置步骤

2026/7/25 2:12:43

大家好,我是数据库小学妹 👋 上周开发组跑来找我:"小学妹,这条订单查询又慢了,帮看看。"我跑过去一看,还是那条老SQL: SELECT * FROM orders WHERE user_id 123 AND status pending…

微服务进阶:服务网格与Istio

微服务进阶:服务网格与Istio

2026/7/24 4:17:29

541|微服务进阶:服务网格与Istio 上篇文章我们聊了微服务的基本概念和拆分方法。 但微服务多了,问题也多了: 服务之间怎么通信? 怎么监控每个服务的调用链路? 熔断、限流、重试怎么做? 安全认证怎么统一? 以前这些都靠SDK库(比如Hystrix、Feign),每个服务都要集成…

零售超级终端全域协同:ShareKit 碰一碰商品流转业务落地案例

零售超级终端全域协同:ShareKit 碰一碰商品流转业务落地案例

2026/7/24 19:29:25

一、零售门店全域协同业务背景与行业痛点 1.1 门店超级终端设备矩阵(连锁便利店/商超标准配置) 自助收银Kiosk一体机:顾客结算、自助核销优惠券、商品素材预览;运营折叠平板:店长后台商品上新、图片录入、活动配置、…

噗叽短视频界面分析

噗叽短视频界面分析

2026/7/23 1:54:13

1 和小红书类似,可以采用类似判断方法------------其实他比小红书好判断,因为他没有图片,控件位置几乎是固定的,都不用判断------------2 因为他没有点赞按钮------------而且几乎所有控件位置都是完全一样的,所以我就…

挑战一天速通Spring全家桶!

挑战一天速通Spring全家桶!

2026/7/25 0:02:22

不知道各位Java好大哥们闲的时候会不会去关注Spring目前的官网,你会发现他的slogan是: Spring makes Java Simple。它让Java的开发变得更加简单。某种意义上来说:是Spring成就了Java!但随之而来的就是:由他之后诞生出来的各种组件…

挑战一天速通Java高并发!

挑战一天速通Java高并发!

2026/7/25 0:02:22

有出去面试的朋友肯定深有感受,像我们刚入行那会面试的加分项现在卷得已经成为了面试的基础题(手动狗头)。其中最典型的就属这个Java并发编程了。之前一般只有大厂才会有高并发编程相关的面试内容,但现在只要你入了Java行业就会涉…

从暴雪到米哈游都在用的平衡性评估框架,深度拆解LSTM+胜率归因分析法(附开源工具链)

从暴雪到米哈游都在用的平衡性评估框架,深度拆解LSTM+胜率归因分析法(附开源工具链)

2026/7/25 0:02:22

更多请点击: https://kaifayun.com 第一章:AI 游戏平衡性分析 现代游戏开发中,AI 不再仅用于控制 NPC 行为,更被深度整合进游戏平衡性调优流程。通过强化学习与对抗性仿真,AI 可以在数百万局对局中自动识别数值失衡点…