1、创建一个 NumPy ndarray 对象
NumPy 主要用于处理数组。
在 NumPy 中,数组对象被称为 ndarray(N-dimensional array,多维数组)。
可以使用 array() 函数创建一个 NumPy ndarray 对象。
示例:创建一维数组
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr) print(type(arr))
输出结果:
[1 2 3 4 5] <class 'numpy.ndarray'>
type() 是 Python 内置函数,用于查看对象的类型。
从结果可以看出,arr 是 numpy.ndarray 类型。
使用不同数据结构创建 ndarray
创建 ndarray 时,可以将 列表、元组或其他类数组对象 传递给 array() 函数。
使用元组创建 NumPy 数组
import numpy as np arr = np.array((1, 2, 3, 4, 5)) print(arr)
无论使用列表还是元组,最终都会被转换为 ndarray。
2、数组的维数(Dimensions)
数组中的 维(dimension) 表示数组的层级或深度。
一维:类似列表
二维:类似表格或矩阵
三维及以上:用于表示更复杂的数据结构(如张量)
嵌套数组
嵌套数组 指的是:数组中的元素本身仍然是数组。
3、0-D Arrays(零维数组)
0-D 数组 又称为 标量(scalar)。
它没有维度
表示单个数值
NumPy 中的每一个数值,本质上都是一个 0-D 数组
示例:创建 0-D 数组
import numpy as np arr = np.array(42) print(arr)
输出:
42
4、1-D Arrays(一维数组)
一维数组 是由 0-D 数组(标量)组成的数组。
是最常见、最基础的 NumPy 数组形式
类似于 Python 的列表
示例:创建一维数组
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr)
5、2-D Arrays(二维数组)
二维数组 是由一维数组作为元素组成的数组。
通常用于表示 矩阵
也可以理解为“行 × 列”的数据结构
NumPy 中曾有
numpy.mat子模块用于矩阵运算,但现在更推荐直接使用ndarray。
示例:创建二维数组
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr)
该数组有:
2 行
3 列
6、3-D Arrays(三维数组)
三维数组 是以二维数组(矩阵)作为元素的数组。
通常用于表示 三阶张量
常见于图像数据、视频数据、深度学习输入等场景
示例:创建三维数组
import numpy as np arr = np.array([ [[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]] ]) print(arr)
这个数组可以理解为:
2 个二维数组
每个二维数组是 2×3 的矩阵
7、判断数组是几维(ndim)
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)
输出结果:
0 1 2 3
8、高维数组(ndmin 参数)
NumPy 数组可以具有 任意数量的维度。
在创建数组时,可以使用 ndmin 参数 强制指定最小维数。
示例:创建一个 5 维数组
import numpy as np arr = np.array([1, 2, 3, 4], ndmin=5) print(arr) print('number of dimensions :', arr.ndim)
输出示例:
[[[[[1 2 3 4]]]]] number of dimensions : 5
维度结构说明
在该数组中:
第 5 个维度(最内层)包含 4 个元素
第 4 个维度包含 1 个向量
第 3 个维度包含 1 个矩阵
第 2 个维度包含 1 个 3-D 数组
第 1 个维度包含 1 个 4-D 数组