NumPy 数组属性

在 NumPy 中,属性是 NumPy 数组的属性,它提供了有关数组的形状、大小、数据类型、维度等方面的信息。

例如,要获取数组的维度,我们可以使用 ndim 属性。

NumPy 提供了许多属性,我们将在下面进行学习。


常用的 NumPy 属性

以下是一些常用的 NumPy 属性

属性 描述
ndim 返回数组的维度数
size 返回数组中元素的数量
dtype 返回数组中元素的数据类型
shape 返回数组在每个维度上的大小。
itemsize 返回数组中每个元素的大小(以字节为单位)
data 返回包含数组实际元素的内存缓冲区

要访问 NumPy 属性,我们使用 . 符号。例如:

array1.ndim

这将返回 array1 的维度数。


NumPy 数组 ndim 属性

ndim 属性返回 NumPy 数组的维度数。例如:

import numpy as np

# create a 2-D array 
array1 = np.array([[2, 4, 6],
                  [1, 3, 5]])

# check the dimension of array1
print(array1.ndim) 

# Output: 2

在此示例中,array1.ndim 返回 array1 中存在的维度数。由于 array1 是一个二维数组,我们得到输出 2


NumPy 数组 size 属性

size 属性返回给定数组中元素的总数。

让我们看一个例子。

import numpy as np

array1 = np.array([[1, 2, 3],
                 [6, 7, 8]])

# return total number of elements in array1
print(array1.size)

# Output: 6

在此示例中,array1.size 返回 array1 数组中元素的总数,而与维度数无关。

由于 array1 中总共有 6 个元素,因此 size 属性返回 6


NumPy 数组 shape 属性

在 NumPy 中,shape 属性返回一个整数 元组,表示数组在每个维度上的大小。例如:

import numpy as np

array1 = np.array([[1, 2, 3],
                [6, 7, 8]])

# return a tuple that gives size of array in each dimension
print(array1.shape)

# Output: (2,3)

这里,array1 是一个二维数组,它有 2 行和 3 列。所以 array1.shape 返回元组 (2,3) 作为输出。


NumPy 数组 dtype 属性

我们可以使用 dtype 属性来检查 NumPy 数组的数据类型。例如:

import numpy as np

# create an array of integers 
array1 = np.array([6, 7, 8])

# check the data type of array1
print(array1.dtype) 

# Output: int64

在上例中,dtype 属性返回 array1 的数据类型。

由于 array1 是一个整数数组,默认情况下 array1 的数据类型被推断为 int64

注意:要了解有关使用 dtype 属性检查数组数据类型的更多信息,请访问 NumPy 数据类型


NumPy 数组 itemsize 属性

在 NumPy 中,itemsize 属性确定数组中每个元素的大小(以字节为单位)。例如:

import numpy as np

# create a default 1-D array of integers
array1 = np.array([6, 7, 8, 10, 13])

# create a 1-D array of 32-bit integers 
array2 = np.array([6, 7, 8, 10, 13], dtype=np.int32)

# use of itemsize to determine size of each array element of array1 and array2
print(array1.itemsize)  # prints 8
print(array2.itemsize)  # prints 4

输出

8
4

这里,

  • array1 是一个默认包含 64 位整数的数组,每个元素使用 8 字节内存。因此,itemsize 返回 8 作为每个元素的大小。
  • array2 是一个 32 位整数数组,因此该数组中的每个元素仅使用 4 字节内存。因此,itemsize 返回 4 作为每个元素的大小。

NumPy 数组 data 属性

在 NumPy 中,我们可以使用 data 属性获取包含数组在内存中实际元素的缓冲区。

简而言之,data 属性就像一个指向数组数据在计算机内存中存储位置的指针。

让我们看一个例子。

import numpy as np

array1 = np.array([6, 7, 8])
array2 = np.array([[1, 2, 3],
                   	    [6, 7, 8]])

# print memory address of array1's and array2's data
print("\nData of array1 is: ",array1.data)
print("Data of array2 is: ",array2.data)

输出

Data of array1 is: <memory at 0x7f746fea4a00>
Data of array2 is:  <memory at 0x7f746ff6a5a0>

在这里,data 属性分别返回 array1array2 数据的内存地址。

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战