NumPy 创建数组
创建 NumPy ndarray 对象
NumPy 用于处理数组。NumPy 中的数组对象称为 ndarray。
我们可以使用 array()
函数来创建 NumPy ndarray 对象。
实例
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr) print(type(arr))
type(): 这个内置的 Python 函数告诉我们传递给它的对象的类型。就像上面的代码显示 arr
是 numpy.ndarray
类型。
要创建 ndarray,我们可以将列表、元组或任何类似数组的对象传递给 array()
方法,它将被转换为 ndarray:
实例
使用元组创建 NumPy 数组:
import numpy as np arr = np.array((1, 2, 3, 4, 5)) print(arr)
数组中的维度
数组中的维度是数组深度的级别(嵌套数组)。
嵌套数组:是以数组为元素的数组。
0 维数组
0-D 数组,或标量,是数组中的元素。数组中的每个值都是一个 0-D 数组。
实例
创建一个值为 42 的 0 维数组:
import numpy as np arr = np.array(42) print(arr)
一维数组
以 0 维数组作为元素的数组称为一维或一维数组。
这些是最常见和基本的数组。
实例
创建一个包含值 1,2,3,4,5 的一维数组:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr)
二维数组
以一维数组作为元素的数组称为二维数组。
这些通常用于表示矩阵或二阶张量。
NumPy 有一个专门用于矩阵运算的完整子模块,称为 numpy.mat。
实例
创建一个包含两个数组的二维数组,其值为 1,2,3 和 4,5,6:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr)
3-D 阵列
以 2 维数组(矩阵)为元素的数组称为 3 维数组。
这些通常用于表示三阶张量。
实例
创建一个包含两个 2-D 数组的 3-D 数组,这两个数组都包含两个值为 1,2,3 和 4,5,6 的数组:
import numpy as np arr = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]]) print(arr)
检查维数?
NumPy 数组提供了 ndim
属性,该属性返回一个整数,告诉我们数组有多少维度。
实例
检查数组有多少维:
import numpy as np a = np.array(42) b = np.array([1, 2, 3, 4, 5]) c = np.array([[1, 2, 3], [4, 5, 6]]) d = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]]) print(a.ndim) print(b.ndim) print(c.ndim) print(d.ndim)
更高维的数组
数组可以有任意数量的维度。
创建数组时,您可以使用 ndmin
参数定义维度数。
实例
创建一个 5 维数组并验证它是否具有 5 维:
import numpy as np arr = np.array([1, 2, 3, 4], ndmin=5) print(arr) print('number of dimensions :', arr.ndim)
在此数组中,最内层维度(第 5 个维度)有 4 个元素,第 4 个维度有 1 个元素,即向量,第 3 个维度有 1 个元素,即带有向量的矩阵,第 2 个维度有 1 个元素,即 3D 数组,第一个维度有 1 个 4D 数组元素。