目录
- 1. 什么是 ndarray?
- 2. ndarray 内存结构
- 3. ndarray vs list
在上一期python numpy 模块中对概述介绍了numpy 模块安装、使用方法、特点等入门知识。

- numpy 模块是一个开源的第三方Python库,常用于科学和工程领域,是科学Python和PyData 生态系统的核心。
- numpy 模块易学易用的特点,基本上覆盖了初学者到先进科学研究员的所有人群。
- numpy 模块除了在matplotlib上应用,它还在
Pandas、Scipy、scikit-learn等科学Python中。 - numpy 模块也包含多维数组和矩阵数据结构,它专门提供了具有n维数组对象的
ndarray,以及对其进行有效操作的方法。 - numpy 模块也可用于对数组执行各种数学运算,提供高级数学函数库,以及数组和矩阵的操作。
众所周知,numpy 模块中数组对象是其核心功能,我们本期重点来学习numpy 数组相关内容,
1. 什么是 ndarray?
ndarray 概念
数组是numpy 模块核心数据结构。数组是值的网络,它的内部包含有原始数据、如何定义元素以及如何解释元素的信息。我们可以使用各种方式索引元素网格。
ndarray 是 numpy 模块中定义 n维数组类型。ndarray 可以描述同种类型project的集合。
- 同种数据类型:numpy 数组中的所有元素都是同种类类型,如int32,float64等
- 同大小内存空间:每个project占用相同大小内存块
- 同方式解释:每个project由object数据类型指定,,其中一个与每个数组相关联
- 可以N个整数对project进行索引
ndarray 内部关系
从数组中我们可以提取python对象表示的如索引是numpy 内置数组标量类型之一,我们可以通过使用数组标量来轻松操作复杂的数据排列。
通过以上ndarray 内部结构,我们可以看到 ndarray 主要由 dtype、shape、stride组成
- ndarray 指向内存映射地址的指针-data对象
- ndarray 元素解释形象-dtype对象
- ndarray 每个维度的元素之间的间隔-strides对象(tuple)
- ndarray 对每个维度的数量和大小的描述-shape对象(tuple)
以上四个python对象就可以在ndarray 中通过索引的方式找到指定位置的数据。
同时我们也调用np.array().flags 获取字节序、读写权限等信息,可知ndarray 底层是C和Fortran 实现的。
C_CONTIGUOUS : True
F_CONTIGUOUS : False
OWNDATA : True
WRITEABLE : True
ALIGNED : True
WRITEBACKIFCOPY : False
UPDATEIFCOPY : False
2. ndarray 内存结构
ndarray 内存结构
我们通过numpy.array 方法创建一个2维数组
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
import numpy as np
a = np.array([[1,2],[4,5],[7,8]])
print("dim:",a.ndim)
print("strides:",a.strides)
print("dtype:",a.dtype)
print("data:",a.data)
print("shape:",a.shape)
print(a)
通过array对象调用ndarray 标量对象,可以获知ndarray 维度大小、元素类型、间隔等信息
通过上述图,我们可以知道 ndarray 内存主要划分为两部分:
- raw data: 计算机一段连续的block,存储在C或者Fortran中的数组
- metdata:有关原始数组数据的信息
3. ndarray vs list
ndarray 特点
ndarray 要求所有数据都是同种类型的- 每个数据占用空间一样
- 数组中存储的数据是一段连续的空间
list 特点
- 可以容纳不同数据类型
- list 中只存放对象的引用,再通过引用找到具体的对象
- 对象的物理地址并不是连续的
所以,综上所述,ndarray 查找数据运行效率比list快,同时ndarray 存储的数据是连续的一段空间,对比list 对象物理地址分散的,ndarray 比 list 更省空间。
总结:
本期对numpy 模块核心之一的ndarray 数组对象内存原理、与python list对比等知识学习。
ndarray 里的所有的project元素都是同类型数据,并且存储空间是连续的。
不管查找数据,还是存储数据,数据计算等功能,都明显优于Python list。
相关推荐:
SEO专业怎么样?未来发展的无限潜力与职业前景,联通ai智能早教
SEO要素:优化网站排名的关键因素全解析,棒球大联盟营销推广文案
seo需要会什么,seo要会些什么 ,ai313414919
SEO动态:2025年SEO趋势与优化技巧解析,十堰外贸网站推广费用
如何用AI写公众号文章?让创作更高效、更轻松
怎么用AI生成一篇文章?高效创作指南全揭秘!
seo网站自学看什么书,seo技术适合自学吗 ,斑马ai阅读
ChatGPT充值打不开?这几招教你轻松解决问题!,免费的ai写作绘图
SEO学堂:开启数字营销新时代,全面提升网站排名与流量,文山ai营销推广方案
什么是seo推广找行者SEO,seo推广效果怎么样 ,西宁ai万词霸屏系统
SEO兼职:如何通过SEO兼职实现收入增长与职业突破,濮阳网站建设官网
文章AI生成:让创作变得更简单、更高效!
seo需要学会什么编程,seo要会些什么 ,剪映怎样加ai
文字生成AI开启创作的新纪元
文章AI扩写:突破创作瓶颈,提升写作效率的秘密武器
SEO优化中怎么找关键词:全面解析与实战技巧,ai2002.4.8
AI免费生成文本,内容创作新篇章
SEO快速优化文章排名:提升网站流量的必备技巧,ai小苹果会员分享
怎么让AI写文章,轻松实现内容创作的智能化
SEO趋势:2025年搜索引擎优化的未来发展,河南省营销推广系统官网
SEO优化需要花钱吗?从零起步,如何让SEO成为企业的“隐形财富”,字体如何往ai里面倒
SEO要好,网站流量翻倍的关键秘诀,品牌网站建设关键词优化
SEO单页网站:助力企业在线营销的一站式解决方案,湖南视频网站优化方式
seo重点工作是什么,seo重点工作是什么意思 ,棋谱检查ai
ChatGPT全球宕机:人工智能的崩塌与未来的挑战,中国ai和美国ai教父
产品seo什么意思,产品seo标题是什么 ,ai模仿张宇
内容创作新时代:自动生成文章的AI如何改变写作生态
ChatGPT网络故障报告从协调世界时(UTC)晚上1107左右开始激增,15分钟内引发广泛关注,ai无视进化
怎么用AI写出令人惊叹的文章?轻松搞定写作难题!
AI免费试用不需要登录:体验智能科技的魅力,轻松开启未来,华为ai身材
SEO对策:提升网站排名与流量的必备策略,SEO入门相机平价学生
seo黑帽是什么,列举几种seo黑帽行为 ,穿老款的ai丢人吗
SEO优化全攻略提升网站排名的关键步骤与未来趋势,这是什么新晋动画ai
SEO永远,数字营销的核心力量,广州seo搜索栏内容
seo需要会什么技术呢,seo需要会什么技术呢知乎 ,红色框ai
AI翻译工具的革命-ChatGPT等技术让语言互通无碍,淘宝ai写作检测准吗
什么是seo技术,什么是seo及seo的作用 ,AI倒放仓鼠
GPT哪个模型是最新的?AI语言生成的未来,ai回头
文章AI指令提升写作效率的智能助手
AI免费文章解读:智能写作新篇章,小店AI
SEO获客的秘诀:如何通过搜索引擎优化提升客户获取能力,厦门seo搜索优化排名
ChatGPT怎么打不开了?解决办法,轻松恢复畅通无阻!,ai订酒店ai对话
ChatGPT免费版每天提问有次数限制吗?揭秘如何高效使用AI助手!,机甲ai手绘
SEO流程全解析:如何提升网站流量与排名,账号如何营销推广
SEO分类:从基础到进阶,全面解析SEO优化的关键要素,新建设网站排名
SEO无限:如何利用SEO技术实现网站流量爆发?,网站建设总监
AI免费免登录:轻松体验人工智能的魔力,无需繁琐注册,华为AI音箱2音质如何
ChatGPT异常了:人工智能的极限与突破,ai and ethics
seo网赚什么意思,网站seo赚钱 ,ai打不开ai
SEO精通:让你的内容在搜索引擎中脱颖而出,跨境电商 推广营销