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 可实现高效的数据探索与可视化。

点赞有美意,赞赏是鼓励