NumPy中的ndarray是科学计算核心,提供创建(如np.array、zeros、ones、arange、linspace)、形状操作(reshape、flatten、transpose)、数学统计(sum、mean、argmax、where)及数组拼接与广播等高效函数,掌握后可显著提升数据处理效率。NumPy 中的 ndarray 是进行科学计算的核心数据结构,提供了丰富的函数来操作数组。以下是一些常见且实用的函数及其用法说明。 创建数组相关函数
np.array():将列表、元组等转换为 ndarray。
- 例如:
np.array([1, 2, 3])创建一维数组 - 支持指定 dtype:
np.array([1.1, 2.2], dtype=int)强制转为整型
np.zeros() 和 np.ones():创建全0或全1数组。
- 例如:
np.zeros((2, 3))创建 2×3 的零矩阵 - 可以指定类型:
np.ones(5, dtype=bool)创建布尔型全1数组
np.arange():类似 Python 的 range,但返回数组。
- 例如:
np.arange(0, 10, 2)生成 [0, 2, 4, 6, 8]
np.linspace():在指定区间内生成等间距数值。
- 例如:
np.linspace(0, 1, 5)生成 [0, 0.25, 0.5, 0.75, 1.0]
ndarray.reshape():改变数组形状,不修改数据。
- 例如:
np.arange(6).reshape(2, 3)变成 2 行 3 列 - 使用 -1 让 NumPy 自动推断维度:
arr.reshape(-1, 2)
ndarray.flatten():返回展平的一维副本。
- 例如:
arr = np.array([[1,2],[3,4]]); arr.flatt得到 [1,2,3,4]
en()
np.transpose() 或 .T:转置数组。
- 例如:
arr.T对二维数组行列互换
np.sum(), np.mean(), np.std(), np.min(), np.max():基本统计运算。
- 可指定轴:
np.sum(arr, axis=0)沿列方向求和(按行合并) - 例如:二维数组中 axis=0 表示“跨行”,即对每一列操作
np.argmax(), np.argmin():返回最大/最小值的索引。
- 例如:
np.argmax([3,1,4])返回 2(索引位置) - 配合 axis 使用可找每行或每列最值位置
np.where():根据条件返回索引或选择元素。
- 例如:
np.where(arr > 5, arr, 0)大于5保留,否则设为0
np.concatenate():沿指定轴拼接数组。
- 例如:
np.concatenate((a, b), axis=0)垂直拼接
np.vstack() / np.hstack():垂直或水平堆叠。
-
np.vstack([a, b])等价于np.concatenate([a,b], axis=0)
广播(Broadcasting):不同形状数组间自动扩展进行运算。
- 例如:一个 (3,3) 数组可以和一个长度为3的数组相加,NumPy 会自动对行扩展
- 这是实现高效向量化计算的关键机制

en()






