在 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
属性分别返回 array1
和 array2
数据的内存地址。