阅读(1414) (0)

NumPy 基础知识

2021-08-31 17:02:17 更新

NumPy 的主要对象是同构多维数组。它是一个元素表(通常是数字),所有类型都相同,由非负整数元组索引。在 NumPy 中,维度称为轴。 例如,3D 空间中一个点的坐标[1, 2, 1]只有一个轴。该轴有 3 个元素,因此我们说它的长度为 3。在下图中的示例中,数组有 2 个轴。第一个轴的长度为 2,第二个轴的长度为 3。

[[1., 0., 0.],
 [0., 1., 2.]].

NumPy 的数组类称为ndarray。它也被称为别名 array。请注意,numpy.array这与标准 Python 库类不同array.array,后者仅处理一维数组并提供较少的功能。ndarray对象更重要的属性是:

  • ndarray.ndim 数组的轴数(维度)。
  • ndarray.shape 数组的维度。这是一个整数元组,象征着每个维度中数组的大小。对于具有n行和m列的矩阵,shape将为(n,m)。因此,元组shape的长度是轴的数量,ndim
  • 数组大小 数组的元素总数。这等于shape元素的乘积。
  • ndarray.dtype 描述数组中元素类型的对象。可以使用标准 Python 类型创建或指定 dtype。此外,NumPy 提供了自己的类型。numpy.int32、numpy.int16 和 numpy.float64 是一些示例。
  • ndarray.itemsize 数组每个元素的大小(以字节为单位)。例如,一个类型元素的数组float64itemsize8 个(=64/8),而一个类型的元素complex32itemsize4 个(=32/8)。它相当于ndarray.dtype.itemsize
  • ndarray.data 包含数组实际元素的缓冲区。通常,我们不需要使用此属性,因为我们将使用索引工具访问数组中的元素。

例子:

import numpy as np
>>> a = np.arange(15).reshape(3, 5)
>>> a
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])
>>> a.shape
(3, 5)
>>> a.ndim
2
>>> a.dtype.name
'int64'
>>> a.itemsize
8
>>> a.size
15
>>> type(a)
<class 'numpy.ndarray'>
>>> b = np.array([6, 7, 8])
>>> b
array([6, 7, 8])
>>> type(b)
<class 'numpy.ndarray'>