Numpy—ndarray对象

NumPy 最重要的一个特点是其N维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。

  • ndarray 对象是用于存放同类型元素的多维数组。
  • ndarray 中的每个元素在内存中都有相同存储大小的区域。
  • ndarray 内部由以下内容组成:
    • 一个指向数据(内存或内存映射文件中的一块数据)的指针。
    • 数据类型或 dtype,描述在数组中的固定大小值的格子。
    • 一个表示数组形状(shape)的元组,表示各维度大小的元组。

NumPy 的数组中比较重要 ndarray对象属性有:

属性说明
ndarray.ndim秩,即轴的数量或维度的数量
ndarray.shape数组的维度,对于矩阵,n 行 m 列
ndarray.size数组元素的总个数,相当于 .shape 中 n*m 的值
ndarray.dtypendarray 对象的元素类型 (元组中的类型都是同一个类型, 所以只会返回一个值)
ndarray.itemsizendarray 对象中每个元素的大小,以字节为单位
ndarray.flagsndarray 对象的内存信息
ndarray.realndarray 元素的实部
ndarray.imagndarray 元素的虚部
ndarray.data包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性

以上是常用的ndarray对象的属性及其说明。这些属性提供了关于数组的维度、形状、大小、数据类型、内存信息等方面的信息。在进行数组操作和处理时,可以使用这些属性来了解和操作数组的特性和内容。

🧩about 一个数组(元素为整型)dtype,为什么会返回->dtype(‘int32’)

在NumPy中,数据类型的大小是由其表示范围和所占字节数确定的。int32表示一个有符号的32位整数,其中32指示该数据类型占用32位或4个字节的空间。

在32位整数中,最高位用于表示符号(正负号),而其余的31位用于表示数值。这意味着32位整数的表示范围是从 -2,147,483,648 到 2,147,483,647(包括这两个数)。

由于整数类型的范围和字节大小是固定的,因此int32类型始终占用4个字节的空间,无论存储的实际值是多少。

如果需要更大或更小的整数范围,可以选择其他整数数据类型,例如int64(64位整数,占用8个字节)或int16(16位整数,占用2个字节)。选择适当的数据类型可以根据需求平衡内存使用和数值表示范围。

🎯实战

# coding: utf-8  import numpy as np  x1 = np.random.randint(10, size=6)  
print(x1)  
print('=' * 20)  x2 = np.random.randint(10, size=(3, 4))  
print(x2)  
print('=' * 20)  x3 = np.random.randn(3, 4, 5)  
print('nidm属性:'.center(20, '*'))  
print('ndim:', x1.ndim, x2.ndim, x3.ndim)  print('shape属性'.center(20, '*'))  
print('shape属性', x1.shape, x2.shape, x3.shape)  print('dtype属性:'.center(20, '*'))  
print('dtype:', x1.dtype, x2.dtype, x3.dtype)  print('size属性'.center(20, '*'))  
print('size:', x1.size, x2.size, x3.size)  print('itemsize属性'.center(20, '*'))  
print('itemsize:', x1.itemsize, x2.itemsize, x3.itemsize)  
print('=' * 20)  

result:

[6 1 1 9 6 0]
====================
[[9 7 9 1][8 9 5 6][7 4 0 5]]
====================
******nidm属性:*******
ndim: 1 2 3
******shape属性*******
shape属性 (6,) (3, 4) (3, 4, 5)
******dtype属性:******
dtype: int32 int32 float64
*******size属性*******
size: 6 12 60
*****itemsize属性*****
itemsize: 4 4 8
====================进程已结束,退出代码0

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

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

相关文章

【分布式训练】基于Pytorch的分布式数据并行训练

基于Pytorch的分布式数据并行训练 动机为什么要并行分布数据?现有资料的不足 Outline整体框架图带解释的最小demo示例没有multiprocessing开启multiprocessing 分布式训练启动方式混合精度训练(采用apex) 参考资料 简介: 在PyTorc…

【ROS】ROS1人机界面开发:第一个最简ROS+QtGui程序(按钮启动发布者)

【ROS】郭老二博文之:ROS目录 1、创建工程 1)新建工程:Other Project --> ROS Workspace 2)设置工程名称、路径 3)可以通过点击“Browse”来创建目录 注意:使用自带ros插件的qtcreator-ros,无法创建目录、也不能选择目录,这是个bug,因此需要在终端手动创建目录…

密码学学习笔记(十六 ):Schnorr签名算法

交互式零知识证明 零知识证明(ZKP)就是不会将证据泄露给验证者的知识证明。Schnorr身份认证识别协议是一个交互式ZKP,它满足了完备性、可靠性、零知识性。所谓的交互式ZKP方案通常包含3个步骤(承诺、挑战和证明),在文献中通常被称…

elastic elasticsearch 源码解析之选主选举过程

选主 选举算法 角色定义 这里的选主为什么提角色? 是因为不同角色在选主中起到不同的作用.master的非voting_only节点不但参与投票同时还可以参与竞选, master 的voting_only角色仅投票不参与竞选,其余角色不参与. 支持的角色 master data data_content data_hot data_wa…

django框架向DRF框架演变过程详解

一、Django框架实现项目查询接口 主要知识点: Django框架视图函数 1、在 Django 项目中创建一个应用(如果还没有创建): python manage.py startapp projects 2、在项目的 models.py 文件中定义项目模型 from django.db impor…

React面试题汇总

1、面试官:说说对 React 的理解?有哪些特性? React遵循组件设计模式,使用虚拟 DOM 来有效地操作 DOM,遵循从高阶组件到低阶组件的单向数据流。React 特性有很多,如:JSX 语法、单向数据绑定、虚…

【C++】-stack和queue的具体使用以及模拟实现(dqeue的介绍+容器适配器的介绍)

💖作者:小树苗渴望变成参天大树🎈 🎉作者宣言:认真写好每一篇博客💤 🎊作者gitee:gitee✨ 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法🎄 如 果 你 …

Java八股文总结(二)

Java八股文总结(续) 接上篇笔记:Jhttps://blog.csdn.net/weixin_44780078/article/details/130192373 文章目录 Java八股文总结(续)六、MySql 相关1. InnoDB 与 MyISAM 的区别?2. 为什么 InnoDB 存储引擎表…

kubesphere部署kafka单点

zookeeper 存储: #zk-cm nfsRWO /bitnami/zookeeper 配置: 秘钥: 服务: 有状态服务 名称: zookeeper 镜像: bitnami/zookeeper:3.8.0 副本数量: 环境变量: - TZAsia/Shanghai - ZOO_SERVER_ID1 - ZOO_PORT_NUMBER2181 - ZOO_HEAP_SIZE128 - ALLOW_ANONYMOUS_LOGINyes 启动…

JavaFx 用户界面控件2——ListView

1.列表显示ListView 下面是一个JavaFX ListView的示例代码和使用方法&#xff1a; public class ListViewExample extends Application {Overridepublic void start(Stage primaryStage) {// 创建一个可观察的列表&#xff0c;用于存储ListView中的数据ObservableList<Str…

【MongoDB】SpringBoot整合MongoDB

【MongoDB】SpringBoot整合MongoDB 文章目录 【MongoDB】SpringBoot整合MongoDB0. 准备工作1. 集合操作1.1 创建集合1.2 删除集合 2. 相关注解3. 文档操作3.1 添加文档3.2 批量添加文档3.3 查询文档3.3.1 查询所有文档3.3.2 根据id查询3.3.3 等值查询3.3.4 范围查询3.3.5 and查…

UML与SYSML的关系

UML与SysML的联系 UML&#xff08;统一建模语言&#xff09;和SysML&#xff08;系统建模语言&#xff09;是两种与建模相关的语言&#xff0c;它们之间存在联系和区别。 SysML的图分类如下图所示。 联系 SysML是基于UML的&#xff0c;它重用了UML 2的子集&#xff0c;并提…

wordpress后台的路径都是空白,进不了后台怎么办?

主题或插件冲突&#xff1a;某些主题或插件可能与其他已安装的主题或插件不兼容&#xff0c;导致登录页面显示为空白。您可以通过禁用所有插件和将主题更改为默认主题来查看是否解决了问题。如果解决了问题&#xff0c;则可以逐个重新启用插件以找出是哪个插件造成冲突。 PHP错…

CGT Asia嘉年华|3D细胞培养与类器官研发峰会10月广州召开

类器官指利用成体干细胞或多能干细胞进行体外三维&#xff08;3D&#xff09;培养而形成的具有一定空间结构的组织类似物&#xff0c;是近10年来干细胞领域发展最快的研究热点之一。2022年&#xff0c;FDA 通过现代化法案 2.0&#xff0c;批准全球首个完全基于“类器官芯片”研…

Win11中的Swapfile.sys

除了 pagefile.sys 和 hiberfil.sys 文件外&#xff0c;在系统根目录会多出一个 swapfile.sys 虚拟内存文件。Windows 10/8 系统为什么会同时使用 SWAP 交换文件和 Page 页面文件呢&#xff1f; 其实 swapfile.sys 文件目前只被用来交换 Universal App (其实就是Metro App)的个…

线程、并发、多线程并发

单线程并发 单线程并发&#xff0c;并非真正意义上的单线程。而是只有单一的用户线程。还包括数据库&#xff0c;socket等系统多线程。 单个用户线程&#xff1a;对于十万个用户同时访问服务器&#xff0c;有两种方式处理并发。 为每个用户开一个新的用户线程&#xff0c;每个…

12.postgresql--plsql

[ <<label>> ] [ DECLAREdeclarations ] BEGINstatements END [ label ];do $$ beginraise notice 无Label标签与声明部分; end $$; 或者 do $$ <<test>> beginraise notice 使用label标签; end test $$; 或者 do $$ <<test>> declarei in…

java ajax

1.ajax定义:异步刷新技术 2.ajax语法 3.ajax实战 在不需要点击刷新按钮时&#xff0c;达到局部刷新的效果&#xff0c;如下图所示 步骤一&#xff1a;创建工程/包/js 步骤二&#xff1a;数据库/表创建 步骤三&#xff1a;实体类 步骤四&#xff1a;UserDao package cn.kgc…

音频数据分割单独处理后再拼接出现跳跃间断点的处理方法

+hezkz17进数字音频系统研究开发交流答疑 1如图所示 问题1: 对于一个81920字节的音频文件,如果是分割成小块4096输入(无重叠,均分),在频域上做去噪算法,每4k数据返回到时域上再拼接成80k的处理结果文件,发现处理结果有异常有跳跃间断点,像是频谱泄露?分割也需要有重…

计算机网络 day9 DNAT实验

目录 DNAT DNAT策略的典型应用环境 DNAT策略的原理 在网关中使用DNAT策略发布内网服务器 DNAT实验&#xff1a; 实验环境&#xff1a; DNAT网络规划拓扑图&#xff1a; 步骤&#xff1a; 1、创建linux客户端Web网站&#xff08;go语言&#xff09;&#xff0c;实现Web服…