当前位置: 首页 > news >正文

NumPy:ndarray 数组属性

在使用 NumPy 进行科学计算或数据分析时,数组对象不仅存储数据本身,还包含描述数组结构与内存布局的信息,这些信息被称为数组属性(array attributes)。

通过这些属性,我们可以了解数组的维度结构、元素数量、数据类型以及内存占用情况,从而更好地理解数组的内部结构与计算行为。

NumPy 的数组属性主要通过 ndarray 对象的属性(attributes)提供访问接口。与函数不同,这些属性通常不需要调用,而是直接读取。

例如:

arr.shapearr.dtype

按照功能划分,NumPy 的数组属性通常可以分为四类:

(1)结构属性

(2)类型属性

(3)大小与内存属性

(4)底层布局属性

一、结构属性

结构属性用于描述数组的维度结构与形状信息。

shape

返回数组在每个维度上的长度(元组)。

ndarray.shape

示例:

import numpy as np a = np.array([[1,2,3], [4,5,6]]) print(a.shape)

输出:

(2, 3)

表明这是一个 2 行 3 列的矩阵。

ndim

返回数组的维度数(整数)。

ndarray.ndim

示例:

a = np.array([[1,2,3], [4,5,6]]) print(a.ndim)

输出:

2

表明该数组是二维数组。

size

返回数组中包含的元素总数(整数)。

ndarray.size

示例:

a = np.array([[1,2,3], [4,5,6]]) print(a.size)

输出:

6

说明:元素数量 = 所有维度长度的乘积。

二、类型属性

类型属性用于描述数组中元素的数据类型。

dtype

返回数组元素的数据类型(NumPy 的 dtype 对象)。

ndarray.dtype

示例:

a = np.array([1,2,3]) print(a.dtype)

输出:

int64

说明:

NumPy 使用统一的数据类型系统(dtype),不同于 Python 的动态对象类型。

详情请参阅:

《NumPy:dtype 数据类型》

itemsize

返回每个元素所占的字节数(整数)。

ndarray.itemsize

示例:

a = np.array([1,2,3], dtype=np.int32) print(a.itemsize)

输出:

4

表明 int32 类型占用 4 字节。

三、大小与内存属性

这些属性用于描述数组整体的存储规模。

nbytes

返回数组元素所占的总字节数(整数)。

ndarray.nbytes

示例:

a = np.array([1,2,3,4], dtype=np.int32) print(a.nbytes)

输出:

16

说明:nbytes = size × itemsize。

四、底层布局属性

NumPy 数组在内存中以字节序列的形式存储,并通过 stride 机制描述各维度的访问步长。某些数组(如切片或转置结果)在内存中可能并不是连续存储。

以下属性用于描述数组在内存中的布局方式。

strides

数组在各维度上的步长(stride)。返回一个元组,表示在每个维度上移动一个索引单位时需要跨越的字节数。

ndarray.strides

示例:

a = np.array([[1,2,3], [4,5,6]]) print(a.strides)

示例输出:

(24, 8)

这表明:沿第 0 个维度(行方向)移动一个元素时,需要跨越 24 字节;沿第 1 个维度(列方向)移动一个元素时,需要跨越 8 字节。

T

返回数组的转置结果(transpose),通常返回一个视图而不是新的数据副本。

ndarray.T

示例:

a = np.array([[1,2,3], [4,5,6]]) print(a.T)

输出:

[[1 4] [2 5] [3 6]]

说明:转置操作交换数组的行与列。

五、数组属性综合示例

示例:

import numpy as np a = np.array([[10,20,30], [40,50,60]], dtype=np.int32) print("shape:", a.shape)print("ndim:", a.ndim)print("size:", a.size)print("dtype:", a.dtype)print("itemsize:", a.itemsize)print("nbytes:", a.nbytes)print("strides:", a.strides)

输出示例:

shape: (2, 3)ndim: 2size: 6dtype: int32itemsize: 4nbytes: 24strides: (12, 4)

📘 小结

NumPy 数组对象提供了一组属性,用于描述数组的结构、类型以及内存布局。结构属性(shape、ndim、size)用于描述数组维度;类型属性(dtype、itemsize)用于说明元素类型;大小属性(nbytes)用于表示内存占用;底层属性(strides、T)反映数组在内存中的布局与视图关系。理解这些属性,有助于更深入地掌握 NumPy 数组的内部结构与计算机制。

“点赞有美意,赞赏是鼓励”

http://www.jsqmd.com/news/479742/

相关文章:

  • WinClaw CLI 工具开发指南
  • 2026环保开关连接器优质供应商推荐指南:沉板开关、硅胶开关、精密连接器、翻盖式连接器、薄膜开关、超薄连接器、镀金连接器选择指南 - 优质品牌商家
  • 告别OSPF!EVE-NG专业版+BGP Unnumbered打通Underlay的完整实战
  • 川渝鄂名表维修保养公司推荐指南:名表保养维修价格电话、名表保养维修服务电话、名表保养维修门店电话、奢侈品回收公司电话选择指南 - 优质品牌商家
  • Debian/Ubuntu 18.04 上安装 GLIBC 2.28 (2026)
  • 2026年薯类深加工全粉设备优质品牌推荐:雪花全粉辊筒干燥机/预糊化淀粉辊筒干燥机/马铃薯全粉加工设备/马铃薯全粉生产线/选择指南 - 优质品牌商家
  • 2026连接器优质供应商推荐榜适配多行业需求:翻盖式连接器、薄膜开关、超薄连接器、镀金连接器、防尘开关、防水开关选择指南 - 优质品牌商家
  • 在Linux x86_64系统中编译mission
  • 威拉里发布多款金属3D打印新材料!三期项目与国外工厂全力推进!
  • 黑客与画家的品牌时代主动式Agent时代的品牌#The Brand Age
  • 2026年油田矿山旋流设备优质供应商推荐榜:HV100旋流子/HV100油田除泥器/HV100油田除砂器/废水旋流器/选择指南 - 优质品牌商家
  • 2026打包碗外卖碗定制:五大优质厂商综合评测与选型指南 - 2026年企业推荐榜
  • 2026年评价高的脚手架品牌推荐:脚手架公司选择指南 - 品牌宣传支持者
  • MATLAB麦克风实时采集与波形显示:两种方法对比与性能优化
  • GME-Qwen2-VL-2B辅助AE视频制作:智能生成视频片段描述与标签
  • 深入理解 Dify 插件守护进程:从加载到执行的完整链路
  • 2026乐山优质麻辣烫店推荐榜:乐山麻辣烫本地人推荐/好吃的乐山麻辣烫有哪些/正宗的牛华麻辣烫/牛华麻辣烫哪家好吃/选择指南 - 优质品牌商家
  • 如何用JZVideo解决安卓视频开发痛点:高效灵活的全场景播放框架
  • 当SSD退役时必做的5件事:基于NVMe Sanitize的完整数据销毁流程
  • 2026工业自动化与电动车领域连接器优质供应商推荐榜:硅胶开关/精密连接器/翻盖式连接器/薄膜开关/超薄连接器/选择指南 - 优质品牌商家
  • 适配工程采购的瓷泳系统窗优质品牌推荐:南通瓷泳系统窗工厂/南通瓷泳系统窗工厂/瓷泳系统窗一平方/瓷泳系统窗一方/选择指南 - 优质品牌商家
  • 注意,苹果刚刚做出改变: iOS 26.4 系统强制所有设备开启“被盗设备保护”功能。
  • 2026年比较好的北京系统门窗更换公司推荐:北京系统门窗封阳台直销厂家推荐 - 品牌宣传支持者
  • Asian Beauty Z-Image Turbo 企业级应用:自动化内容营销素材生成平台构建
  • 10 个你(可能)从未听过的被低估的 CLI 命令
  • 问题解决方法:keil软件用st-link烧录代码报错
  • 探索大数据领域Flink的CEP复杂事件处理
  • Qwen3.5-35B-A3B-AWQ-4bit Web界面使用教程:上传控件+输入框+响应流式输出详解
  • 实时口罩检测-通用镜像应用案例:公共场所智能监测,免配置快速部署方案
  • 4步突破:Cursor无限制使用完全指南