NumPy(Numerical Python)是 Python 语言中用于数值计算的核心库,提供了高效的多维数组对象 ndarray,以及大量的数学函数、广播机制和线性代数操作。它是数据科学与科学计算的基石,也是许多高级库(如 pandas、scikit-learn、TensorFlow)的底层支持模块。
安装 :
pip install numpy常见应用场景:
(1)科学计算与矩阵运算。
(2)统计分析与数据处理。
(3)机器学习模型的数据输入处理。
(4)图像处理与信号处理。
(5)数学建模、金融计算等。
◆ ◆ ◆
核心概念
1、ndarray(N 维数组)
NumPy 的核心数据结构,支持任意维度的数组,拥有强大的向量化运算能力。
2、广播(Broadcasting)
允许不同形状的数组进行数学运算的机制,自动扩展维度对齐。
3、向量化(Vectorization)
避免使用显式循环,直接对数组执行批量操作,显著提升性能。
4、内存连续性
所有数据按类型连续存储,极大提升了计算效率与内存利用。
◆ ◆ ◆
基础用法
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b) # 输出:[5 7 9]◆ ◆ ◆
应用举例
例 1:数组创建与索引
import numpy as np
a = np.array([[1, 2], [3, 4]])
print(a[0, 1]) # 输出 2例 2:数组运算
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a * b) # 输出 [ 4 10 18]例 3:矩阵乘法
import numpy as np
A = np.array([[1, 2], [3, 4]])
B = np.array([[2, 0], [1, 2]])
print(np.dot(A, B))例 4:广播机制
import numpy as np
a = np.array([[1], [2], [3]])
b = np.array([10, 20])
print(a + b)
# 输出:
# [[11 21]
# [12 22]
# [13 23]]例 5:使用随机数与统计
import numpy as np
x = np.random.randn(1000)
print("均值:", np.mean(x))
print("标准差:", np.std(x))◆ ◆ ◆
常用函数速览
array(object, dtype=None)
创建一个 ndarray 数组对象。
参数:
object:类似列表或嵌套列表
dtype:指定元素类型(如 int32, float64)
返回:ndarray 对象
arange(start, stop, step)
返回一个等差数列的一维数组(不包含 stop)。
参数:起始值、终止值、步长
返回:ndarray
astype(dtype)
转换数组中元素的数据类型。
参数:目标数据类型
返回:转换后的 ndarray
dot(a, b)
矩阵乘法或向量点积。
参数:数组 a 和 b
返回:矩阵或数值结果
linspace(start, stop, num)
创建等间距的一维数组。
参数:起点、终点、数量
返回:ndarray
mean(a)
求数组的平均值。
参数:数组 a
返回:数值结果
reshape(shape)
重塑数组的形状(不改变数据)。
参数:新形状(如 (2, 3))
返回:新的 ndarray
shape
获取数组维度结构。
参数:无
返回:元组形式的形状,如 (3, 4)
sum(axis=None)
对数组元素求和。
参数:axis 指定按行或列求和
返回:数值或数组
zeros(shape)
创建所有元素为 0 的数组。
参数:数组形状
返回:ndarray
ones(shape)
创建所有元素为 1 的数组。
参数:数组形状
返回:ndarray
eye(n)
创建单位矩阵。
参数:维度 n
返回:ndarray
random.rand(d0, d1, ...)
生成 [0,1) 间的均匀分布随机数。
参数:各维度大小
返回:ndarray
random.randn(d0, d1, ...)
生成标准正态分布随机数。
参数:各维度大小
返回:ndarray
transpose()
对数组进行转置操作。
参数:可选维度索引
返回:转置后的数组
◆ ◆ ◆
补充说明
1、NumPy 是数据科学的底层基础库,掌握它是学习 pandas、scikit-learn 等的重要前提。
2、它支持 C 语言级别的性能,能对大型数据批量处理。
3、在处理大规模数据时,推荐使用 ndarray 代替原生 Python 列表。
4、配合 Jupyter Notebook 可实现高效的数据探索与可视化。
“点赞有美意,赞赏是鼓励”
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.