本文基于Numpy思维导图整理核心知识点,适合快速入门和知识体系梳理。
一、引言
Numpy作为Python科学计算的核心库,凭借高性能多维数组对象(ndarray)和高效计算能力,成为数据分析、机器学习等领域的必备工具。本文将从基本操作与运算两大维度,系统性梳理Numpy的核心功能,助你快速掌握其精髓。
二、Numpy基本操作
1. ndarray数组的创建
生成0/1数组:np.zeros(shape), np.ones(shape)
np.zeros(shape=(2,3),dtype=int)
np.ones(shape=(3,4),dtype=np.int32)
从现有数据生成:np.array(), np.copy(), np.asarray()
score=np.array([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20]])
data1 =np.array(score)
# np.asarray()浅拷贝
data2=np.asarray(score)
#np.copy深拷贝
data3=np.copy(score)
生成特定范围数组:
等差数列:np.linspace(start, stop, num)
固定步长:np.arange(start, stop, step)
python
import numpy as np
arr = np.zeros((3,3)) # 3x3全0数组
arr_lin = np.linspace(0, 10, 5) # [0., 2.5, 5., 7.5, 10.]
2. ndarray属性与方法
核心属性:
.shape:数组形状(如(2,3))
.dtype:数据类型(如int32, float64)
形状修改:
reshape(new_shape):不改变数据调整形状
.T:转置数组
resize():直接修改原数组形状
3. 切片与索引
基础切片:arr[start:end:step]
布尔索引:通过条件筛选数据,如arr[arr > 5]
4. 类型转换与序列化
修改数据类型:astype(new_type)
序列化存储:tostring()
5. 随机数生成
均匀分布:np.random.uniform(low, high, size)
正态分布:np.random.normal(loc, scale, size)
6. 数据去重
唯一值提取:np.unique(arr)
三、Numpy运算
1. 逻辑运算与布尔索引
逻辑判断:np.all(), np.any()
三元运算符:np.where(condition, x, y)
python
cond = np.array([True, False, True])
result = np.where(cond, 1, -1) # [1, -1, 1]
2. 统计运算
常用函数:min(), max(), mean()(均值), median()(中位数), var()(方差), std()(标准差)
沿轴计算:np.max(arr, axis=0)(按列求最大值)
3. 数据与数组运算
广播机制(Broadcasting):允许不同形状数组逐元素运算(如标量与数组相加)。
规则:从后向前逐维对齐,缺失维度视为1,维度为1时可扩展。
4. 矩阵运算
点乘(内积):np.dot(a, b)或 a @ b
矩阵相乘规则:形状需满足 (m,n) × (n,p) = (m,p)
python
a = np.array([[1,2], [3,4]])
b = np.array([[5,6], [7,8]])
print(a @ b) # [[19 22], [43 50]]
四、总结
Numpy的核心优势在于**高效的多维数据操作**和**丰富的数学运算支持**。通过掌握数组创建、形状操作、统计计算和广播机制,读者可快速构建数据处理流程。后续可结合Pandas、Scipy等库深入实践,解锁更复杂的科学计算场景。
欢迎在评论区分享你的学习心得或疑问,文章如有错误可在评论区留言。
1