Python-numpy-基础入门
NumPy 基础入门ndarray 什么是 ndarrayndarrayN-dimensional Array是 NumPy 的核心数据结构——一个同构多维数组。所有元素类型相同内存连续存储因此比 Python list 快 10~100 倍。对比Python listNumPy ndarray元素类型可以不同必须相同同构内存分散存储连续内存块运算循环遍历C 级别向量化速度慢极快内存占用大小固定类型 创建 ndarray从 Python 数据结构创建importnumpyasnp# 从列表创建arrnp.array([1,2,3,4,5])print(arr)# [1 2 3 4 5]# 从嵌套列表二维matnp.array([[1,2,3],[4,5,6],[7,8,9]])print(mat)# [[1 2 3]# [4 5 6]# [7 8 9]]# 三维及以上tensornp.array([[[1,2],[3,4]],[[5,6],[7,8]]])print(tensor.shape)# (2, 2, 2)# 从元组arrnp.array((10,20,30))# 指定数据类型arrnp.array([1,2,3],dtypenp.float64)arrnp.array([1,2,3],dtypefloat32)特殊数组# 全零anp.zeros(5)# [0. 0. 0. 0. 0.]anp.zeros((3,4))# 3×4 全零矩阵anp.zeros_like(b)# 和 b 形状相同的全零# 全一anp.ones(5)# [1. 1. 1. 1. 1.]anp.ones((2,3,4))# 2×3×4 全一张量anp.ones_like(b)# 全填充anp.full((3,4),7)# 全为 7 的 3×4 矩阵anp.full_like(b,3.14)# 单位矩阵anp.eye(4)# 4×4 单位矩阵anp.identity(5)# 5×5 单位矩阵anp.eye(3,4,k1)# 对角偏移k0 向右上偏# 对角矩阵anp.diag([1,2,3,4])# 以 [1,2,3,4] 为对角线的矩阵anp.diag(mat)# 提取矩阵的对角线# 未初始化更快但数据不定anp.empty((3,4))序列数组 ⭐# arange: 等差序列最常用anp.arange(10)# [0 1 2 3 4 5 6 7 8 9]anp.arange(2,10)# [2 3 4 5 6 7 8 9]anp.arange(0,10,2)# [0 2 4 6 8] 步长2anp.arange(10,0,-1)# [10 9 8 7 6 5 4 3 2 1] 倒序# linspace: 等分序列包含终点anp.linspace(0,1,5)# [0. 0.25 0.5 0.75 1. ]anp.linspace(0,10,100)# 0~10 均匀取 100 个点# logspace: 对数等分anp.logspace(0,3,4)# [1. 10. 100. 1000.] 10^0~10^3 取4个# geomspace: 等比数列anp.geomspace(1,1000,4)# [1. 10. 100. 1000.]# meshgrid: 网格坐标二维绘图必备xnp.linspace(-5,5,100)ynp.linspace(-5,5,100)X,Ynp.meshgrid(x,y)# X, Y 都是 (100, 100)Znp.sqrt(X**2Y**2)# 网格运算# mgrid / ogrid: 更便捷的网格X,Ynp.mgrid[-5:5:100j,-5:5:100j]# mgrid: 完整网格100j 100 个点X,Ynp.ogrid[-5:5:100j,-5:5:100j]# ogrid: 开放网格节省内存模仿形状创建anp.arange(12).reshape(3,4)np.zeros_like(a)# 和 a 同形的全零np.ones_like(a)# 和 a 同形的全一np.full_like(a,3.14)# 和 a 同形的填充np.empty_like(a)# 和 a 同形的未初始化 ndarray 属性arrnp.arange(24).reshape(2,3,4)print(arr.shape)# (2, 3, 4) — 各维度大小print(arr.ndim)# 3 — 维度数print(arr.dtype)# int32默认取决于系统— 元素类型print(arr.size)# 24 — 总元素数print(arr.itemsize)# 4 — 每个元素的字节数int324字节print(arr.nbytes)# 96 — 总内存占用 size × itemsizeprint(arr.strides)# (48, 16, 4) — 每维步长print(arr.flags)# 内存布局标志print(arr.base)# 如果是视图返回原始数组print(arr.T)# 转置视图不复制数据print(arr.real)# 实部print(arr.imag)# 虚部print(arr.flat)# 展平迭代器关于 strides步长arrnp.arange(24).reshape(2,3,4)print(arr.strides)# (48, 16, 4)# 含义沿 axis0 跨 48 字节3×4×4沿 axis1 跨 16 字节4×4沿 axis2 跨 4 字节1 个 int32 数据类型dtype常用数值类型类型别名字节范围np.int8i11-128 ~ 127np.int16i22-32768 ~ 32767np.int32i44-2³¹ ~ 2³¹-1np.int64i8,np.int_8-2⁶³ ~ 2⁶³-1np.uint8u110 ~ 255np.uint16u220 ~ 65535np.float16f22半精度np.float32f44单精度深度学习常用np.float64f8,np.float_8双精度默认np.complex64c88复数两 32bitnp.complex128c1616复数两 64bitnp.bool_?1True / False特殊类型# 字符串arrnp.array([hello,world],dtypeU10)# Unicode, 最长 10 字符arrnp.array([bhello,bworld],dtypeS10)# 字节字符串# 对象存 Python 对象性能差少用arrnp.array([{a:1},[1,2,3]],dtypeobject)# 结构化类型存不同类型列dtnp.dtype([(name,U10),(age,i4),(score,f8)])# datetimearrnp.array([2024-01-01,2024-06-15],dtypedatetime64[D])类型转换arrnp.array([1,2,3],dtypenp.int64)# 方式一: astype()推荐明确创建副本arr2arr.astype(np.float64)arr2arr.astype(float32)# 方式二: 直接指定arrnp.array([1,2,3],dtypefloat64)# 方式三: 转换函数np.float64(arr)np.int32(arr)# 查看类型范围print(np.iinfo(np.int16))# min-32768, max32767print(np.finfo(np.float32))# bits32, eps1.192e-07类型提升规则# 不同类型运算时自动提升到更安全类型anp.array([1,2,3],dtypenp.int32)bnp.array([0.5,1.5,2.5],dtypenp.float32)print((ab).dtype)# float32cnp.array([1,2,3],dtypenp.float32)dnp.array([0.5,1.5,2.5],dtypenp.float64)print((cd).dtype)# float64向更高精度提升 快速上手示例importnumpyasnp# 1. 创建一个图像模拟数据imagenp.random.default_rng(42).integers(0,256,(1080,1920,3),dtypenp.uint8)print(f图像形状:{image.shape})# (1080, 1920, 3)print(f数据类型:{image.dtype})# uint8print(f内存占用:{image.nbytes/1e6:.1f}MB)# 2. 统计信息print(f最小像素:{image.min()})print(f最大像素:{image.max()})print(f均值:{image.mean():.1f})print(f每个通道均值:{image.mean(axis(0,1))})# 3. 灰度化grayimage.mean(axis2).astype(np.uint8)# (1080, 1920)# 4. 翻转flippedimage[:,::-1,:]# 水平翻转用切片零拷贝# 5. 裁剪croppedimage[100:500,200:800,:]print(f裁剪后:{cropped.shape})# (400, 600, 3) 速查表需求代码列表创建np.array([1, 2, 3])全零np.zeros((3, 4))全一np.ones((2, 3, 4))全填充np.full((3, 4), 7)单位矩阵np.eye(4)等差数列np.arange(0, 10, 2)等分数列np.linspace(0, 1, 100)等比数列np.geomspace(1, 1000, 4)网格坐标np.meshgrid(x, y)形状arr.shape维数arr.ndim元素类型arr.dtype总元素数arr.size内存大小arr.nbytes类型转换arr.astype(np.float64)[[numpy-总览|← 返回总览]]

相关新闻

PromQL入门到进阶:编写高效监控查询的10个实用技巧

PromQL入门到进阶:编写高效监控查询的10个实用技巧

PromQL入门到进阶:编写高效监控查询的10个实用技巧 【免费下载链接】docs Prometheus documentation: content and static site generator 项目地址: https://gitcode.com/gh_mirrors/docs21/docs PromQL是Prometheus监控系统的核心查询语言,它允…

2026/7/29 23:16:53阅读更多 →
2023最新SvelteKit博客方案:swyxkit从安装到部署完整教程

2023最新SvelteKit博客方案:swyxkit从安装到部署完整教程

2023最新SvelteKit博客方案:swyxkit从安装到部署完整教程 【免费下载链接】swyxkit An opinionated blog starter for SvelteKit Tailwind Netlify. Refreshed for SvelteKit 1.0! 项目地址: https://gitcode.com/gh_mirrors/sw/swyxkit swyxkit是一个基于…

2026/7/29 23:16:52阅读更多 →
Notchi本地化教程:如何添加新语言支持与区域适配

Notchi本地化教程:如何添加新语言支持与区域适配

Notchi本地化教程:如何添加新语言支持与区域适配 【免费下载链接】notchi notch app for claude code & codex 项目地址: https://gitcode.com/gh_mirrors/no/notchi Notchi是一款为Claude Code和Codex打造的Notch应用,通过本教程&#xff0c…

2026/7/29 23:16:52阅读更多 →
【数字信号处理含matlab代码】第三篇:线性相位 FIR 滤波器(二)——Type-3 与 Type-4 及自动识别

【数字信号处理含matlab代码】第三篇:线性相位 FIR 滤波器(二)——Type-3 与 Type-4 及自动识别

第三篇:线性相位 FIR 滤波器(二)——Type-3 与 Type-4 及自动识别 在上一篇中,我们领略了偶对称(Type‑1/2)的优美余弦展开。然而,工程中还存在另一类重要的线性相位滤波器——奇对称&#xff0…

2026/7/30 0:37:02阅读更多 →
Linux内核调试工具链终极对比:printk/ftrace/perf/eBPF/BCC的场景选择

Linux内核调试工具链终极对比:printk/ftrace/perf/eBPF/BCC的场景选择

Linux内核调试工具链终极对比:printk/ftrace/perf/eBPF/BCC的场景选择作者:钟伊人 | 日期:2026-07-29 | Week5 总结与避坑模块一:内核调试的工具图谱与选型框架 为什么需要多种调试工具? Linux内核拥有超过3000万行代码…

2026/7/30 0:37:02阅读更多 →
短剧已经进入内卷化process----AI化主流

短剧已经进入内卷化process----AI化主流

因为我是发评论,所以他越卷,我就越好发,因为他们更加需要我的评论 ------------------------------------------- 结论先说:短剧(微短剧)确实处在热度高位,是当下国内增长最强的文娱赛道之一&…

2026/7/30 0:37:02阅读更多 →
初识Git:为什么AI时代的开发者需要版本控制

初识Git:为什么AI时代的开发者需要版本控制

面向 AI 开发者的 Git 实操教程,技术布道式写作,11篇文章从入门到精通 系列目录 序号文章核心主题图解01初识Git版本控制概念、Repo/Commit/Branch/Merge01 手动备份对比02Git基本操作init/add/commit/log/switch,论文案例02 基本工作流03Gi…

2026/7/30 0:37:02阅读更多 →
今日头条成功的原因-----界面创新-----节省脑力成本

今日头条成功的原因-----界面创新-----节省脑力成本

在今日头条产生的时候,已经有很多新闻网站了,但是那些都是这个样子的:就是说:你要什么新闻,你自己去找,这里有很多个官网菜单,你要什么自己去挑选。然后今日头条出来了,是这个样子的…

2026/7/30 0:37:02阅读更多 →
什么是“外部结果”?

什么是“外部结果”?

外部结果,就是你的能力经过行动转化后,在现实世界中产生的、别人能够观察、验证和使用的变化。简单理解: 内部资产 你拥有的东西。 外部结果 你创造出来的东西。第一层:为什么叫“外部”? 因为它不只存在于你的脑中。…

2026/7/30 0:35:01阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/29 9:47:45阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/29 7:00:19阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/29 7:58:51阅读更多 →
3分钟解锁iOS应用自由:TrollInstallerX让你的iPhone摆脱安装限制 [特殊字符]

3分钟解锁iOS应用自由:TrollInstallerX让你的iPhone摆脱安装限制 [特殊字符]

3分钟解锁iOS应用自由:TrollInstallerX让你的iPhone摆脱安装限制 🚀 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX 你是否曾经因为iOS系统的严格…

2026/7/30 0:00:58阅读更多 →
[GESP202606 四级] 扫雷

[GESP202606 四级] 扫雷

B4557 [GESP202606 四级] 扫雷 https://www.luogu.com.cn/problem/B4557 中国计算机学会(CCF)2026年6月C四级讲解——扫雷 https://www.bilibili.com/video/BV1MCMg6AEXR/ B4557 [GESP202606 四级] 扫雷 https://www.bilibili.com/video/BV1ZKTj6ZEVh/ 2…

2026/7/30 0:00:58阅读更多 →
Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:58阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/30 0:27:26阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/29 4:31:51阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/29 14:26:42阅读更多 →