NumPy 最重要的一个特点是其N维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。
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对象的属性及其说明。这些属性提供了关于数组的维度、形状、大小、数据类型、内存信息等方面的信息。在进行数组操作和处理时,可以使用这些属性来了解和操作数组的特性和内容。
在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