精选 Numpy 常用指令与核心速查备忘单,涵盖高频用法、配置参数与实用技巧。 NumPy 是 Python 科学计算的核心基础库。本备忘单为 Python 与数据科学初学者提供高频函数与 API 的速查参考。
开始使用前,需先导入 NumPy 模块:
import numpy as np
| 方法/代码 | 功能描述 |
|---|---|
np.loadtxt('file.txt') |
从文本文件加载数据 |
np.genfromtxt('file.csv',delimiter=',') |
从 CSV 文件加载数据 |
np.savetxt('file.txt',arr,delimiter=' ') |
将数组写入文本文件 |
np.savetxt('file.csv',arr,delimiter=',') |
将数组写入 CSV 文件 |
| 方法/代码 | 功能描述 |
|---|---|
np.array([1,2,3]) |
创建一维数组 (1D Array) |
np.array([(1,2,3),(4,5,6)]) |
创建二维数组 (2D Array) |
np.zeros(3) |
创建长度为 3、全为 0 的一维数组 |
np.ones((3,4)) |
创建 3x4 全为 1 的二维数组 |
np.eye(5) |
创建 5x5 单位矩阵 (对角线为 1,其余为 0) |
np.linspace(0,100,6) |
创建在 0 至 100 之间均匀分布的 6 个数值数组 |
np.arange(0,10,3) |
创建在 0 至 10 之间按步长 3 递增的数组 (如 [0,3,6,9]) |
np.full((2,3),8) |
创建 2x3 全为 8 的二维数组 |
np.random.rand(4,5) |
创建 4x5 包含 0~1 之间随机浮点数的数组 |
np.random.rand(6,7)*100 |
创建 6x7 包含 0~100 之间随机浮点数的数组 |
np.random.randint(5,size=(2,3)) |
创建 2x3 包含 0~4 之间随机整数的数组 |
| 方法/代码 | 功能描述 |
|---|---|
arr.size |
返回数组中包含的元素总个数 |
arr.shape |
返回数组的维度尺寸结构 (行数, 列数) |
arr.dtype |
返回数组中元素的数据类型 |
arr.astype(dtype) |
将数组元素的类型强制转换为指定 dtype |
arr.tolist() |
将 NumPy 数组转换为标准 Python 列表 |
np.info(np.eye) |
查看 np.eye 函数的官方帮助文档 |
| 方法/代码 | 功能描述 |
|---|---|
np.copy(arr) |
深拷贝数组至新的内存空间 |
arr.view(dtype) |
创建指定数据类型的数组浅拷贝视图 |
arr.sort() |
对数组元素进行升序排序 |
arr.sort(axis=0) |
沿指定的轴 (Axis) 维度对数组排序 |
two_d_arr.flatten() |
将二维数组 two_d_arr 展开展平为一维数组 |
arr.T |
转置矩阵 (行列置换) |
arr.reshape(3,4) |
在不改变数据的前提下将数组重塑为 3 行 4 列 |
arr.resize((5,6)) |
改变数组形状为 5x6 (新元素用 0 填充) |
| 方法/代码 | 功能描述 |
|---|---|
np.append(arr,values) |
在数组末尾追加元素 |
np.insert(arr,2,values) |
在索引 2 之前插入新元素 |
np.delete(arr,3,axis=0) |
删除数组在索引 3 处的整行 |
np.delete(arr,4,axis=1) |
删除数组在索引 4 处的整列 |
| 方法/代码 | 功能描述 |
|---|---|
np.concatenate((arr1,arr2),axis=0) |
将 arr2 作为新行拼接至 arr1 末尾 |
np.concatenate((arr1,arr2),axis=1) |
将 arr2 作为新列拼接至 arr1 末尾 |
np.split(arr,3) |
将数组均分为 3 个子数组 |
np.hsplit(arr,5) |
在第 5 个索引处水平切分数组 |
| 方法/代码 | 功能描述 |
|---|---|
arr[5] |
获取索引为 5 的元素 |
arr[2,5] |
获取二维数组中第 2 行第 5 列的元素 |
arr[1]=4 |
将索引为 1 的元素赋值为 4 |
arr[1,3]=10 |
将二维数组中第 1 行第 3 列的元素赋值为 10 |
arr[0:3] |
切片获取索引 0,1,2 的元素 (二维数组上即获取前 3 行) |
arr[0:3,4] |
获取前 3 行中第 4 列的元素 |
arr[:2] |
获取索引 0,1 的元素 (二维数组上即前 2 行) |
arr[:,1] |
获取所有行中第 1 列的元素 |
arr<5 |
返回由布尔值 True/False 组成的掩码数组 |
(arr1<3) & (arr2>5) |
组合多个条件返回逻辑与判定布尔数组 |
~arr |
取反翻转布尔数组 |
arr[arr<5] |
使用条件筛选返回所有数值小于 5 的元素数组 |
| 方法/代码 | 功能描述 |
|---|---|
np.add(arr1,arr2) |
逐元素相加 arr1 + arr2 |
np.subtract(arr1,arr2) |
逐元素相减 arr1 - arr2 |
np.multiply(arr1,arr2) |
逐元素相乘 arr1 * arr2 |
np.divide(arr1,arr2) |
逐元素相除 arr1 / arr2 |
np.power(arr1,arr2) |
逐元素求幂 arr1 ^ arr2 |
np.array_equal(arr1,arr2) |
若两数组形状与所有元素完全一致则返回 True |
np.sqrt(arr) |
计算数组中每个元素的平方根 |
np.sin(arr) |
计算数组中每个元素的正弦值 |
np.log(arr) |
计算数组中每个元素的自然对数 |
np.abs(arr) |
计算数组中每个元素的绝对值 |
np.ceil(arr) |
向上取整 |
np.floor(arr) |
向下取整 |
np.round(arr) |
四舍五入取整 |
| 方法/代码 | 功能描述 |
|---|---|
np.add(arr,1) |
数组中的每个元素均加 1 |
np.subtract(arr,2) |
数组中的每个元素均减 2 |
np.multiply(arr,3) |
数组中的每个元素均乘以 3 |
np.divide(arr,4) |
数组中的每个元素均除以 4 (除以 0 时返回 np.nan) |
np.power(arr,5) |
数组中的每个元素均求 5 次方 |
| 方法/代码 | 功能描述 |
|---|---|
np.mean(arr,axis=0) |
沿指定轴计算平均值 (Mean) |
arr.sum() |
计算数组中所有元素的求和总值 |
arr.min() |
计算数组中的最小值 |
arr.max(axis=0) |
计算指定轴上的最大值 |
np.var(arr) |
计算数组的方差 (Variance) |
np.std(arr,axis=1) |
计算指定轴上的标准差 (Standard Deviation) |
arr.corrcoef() |
计算数组的相关系数矩阵 (Correlation coefficient) |