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.dtype ndarray 对象的元素类型 (元组中的类型都是同一个类型, 所以只会返回一个值)
ndarray.itemsize ndarray 对象中每个元素的大小,以字节为单位
ndarray.flags ndarray 对象的内存信息
ndarray.real ndarray 元素的实部
ndarray.imag ndarray 元素的虚部
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

你可能感兴趣的:(科学计算与可视化,numpy,python,jupyter)