NumPy 数组操作秘籍:助力数据处理与科学计算。
微信搜索关注《Python学研大本营》
1 数组创建与操作
-
创建数组:
numpy.array([1, 2, 3])
-
创建等差序列:
numpy.arange(start, stop, step)
-
创建均匀分布的值:
numpy.linspace(start, stop, num)
-
创建全零数组:
numpy.zeros(shape)
-
创建全一数组:
numpy.ones(shape)
-
创建单位矩阵:
numpy.eye(n)
-
重塑数组:
array.reshape(new_shape)
-
扁平化数组:
array.flatten()
-
转置数组:
array.T
-
水平拼接数组:
numpy.hstack((array1, array2))
-
垂直拼接数组:
numpy.vstack((array1, array2))
-
分割数组:
numpy.split(array, indices_or_sections)
2 数组索引与切片
-
访问元素:
array[i]
-
切片数组:
array[start:stop:step]
-
访问最后一个元素:
array[-1]
-
访问多个元素:
array[[1, 3, 5]]
-
使用布尔索引:
array[array > 0]
-
通过索引设置元素:
array[i] = value
-
反转数组:
array[::-1]
3 数学运算
-
逐元素相加:
array1 + array2
-
逐元素相减:
array1 - array2
-
逐元素相乘:
array1 * array2
-
逐元素相除:
array1 / array2
-
计算点积:
numpy.dot(array1, array2)
-
计算矩阵乘法:
numpy.matmul(array1, array2)
-
逐元素求平方根:
numpy.sqrt(array)
-
逐元素求指数:
numpy.exp(array)
-
逐元素求对数:
numpy.log(array)
-
逐元素求正弦值:
numpy.sin(array)
-
逐元素求余弦值:
numpy.cos(array)
-
逐元素求和:
numpy.sum(array)
-
计算累积和:
numpy.cumsum(array)
4 统计运算
-
计算均值:
numpy.mean(array)
-
计算中位数:
numpy.median(array)
-
计算标准差:
numpy.std(array)
-
计算方差:
numpy.var(array)
-
查找最小值:
numpy.min(array)
-
查找最大值:
numpy.max(array)
-
查找最小值的索引:
numpy.argmin(array)
-
查找最大值的索引:
numpy.argmax(array)
-
计算相关系数:
numpy.corrcoef(array1, array2)
5 随机操作
-
生成随机数:
numpy.random.rand(shape)
-
生成随机整数:
numpy.random.randint(low, high, size)
-
打乱数组:
numpy.random.shuffle(array)
-
随机选择元素:
numpy.random.choice(array, size)
6 线性代数
-
计算特征值和特征向量:
numpy.linalg.eig(array)
-
求解线性方程组:
numpy.linalg.solve(A, b)
-
计算矩阵行列式:
numpy.linalg.det(array)
-
计算矩阵的逆:
numpy.linalg.inv(array)
7 数组比较
-
逐元素相等比较:
array1 == array2
-
逐元素不等比较:
array1 != array2
-
检查是否有元素为True:
numpy.any(array)
-
检查所有元素是否都为True:
numpy.all(array)
8 排序
-
对数组进行排序:
numpy.sort(array)
-
沿指定轴排序:
numpy.sort(array, axis=0)
-
获取排序后元素的索引:
numpy.argsort(array)
9 集合操作
-
查找唯一元素:
numpy.unique(array)
-
查找交集:
numpy.intersect1d(array1, array2)
-
查找并集:
numpy.union1d(array1, array2)
-
查找差集:
numpy.setdiff1d(array1, array2)
10 广播机制
-
对不同形状的数组执行操作:广播机制会自动扩展较小的数组。
-
重塑数组以方便广播。
11 内存效率
-
使用NumPy的视图(例如
array.view()
)进行高效内存切片。 -
使用
numpy.copy()
创建数组的深拷贝。
12 向量化
-
使用向量化操作提升性能。
-
尽可能避免显式循环。
13 文件输入/输出
-
将数组保存到文本文件:
numpy.savetxt(filename, array)
-
从文本文件加载数组:
numpy.loadtxt(filename)
14 日期处理
使用numpy.datetime64
进行日期和时间操作。
15 多项式运算
-
定义多项式:
numpy.poly1d([系数])
-
计算多项式的值:
poly(x)
16 图像处理
使用NumPy进行基本的图像处理(例如裁剪、调整大小)。
17 掩码数组
使用掩码数组(numpy.ma
)处理缺失或无效数据。
18 插值
对数据进行插值:numpy.interp(x, xp, fp)
19 傅里叶变换
-
执行一维傅里叶变换:
numpy.fft.fft(array)
-
执行二维傅里叶变换:
numpy.fft.fft2(array)
20 常数
访问数学常数,如numpy.pi
和numpy.e
。
21 多项式拟合
对数据进行多项式拟合:numpy.polyfit(x, y, degree)
22 内存映射
使用内存映射数组高效访问大型数据集。
23 多项式求根
求多项式的根:numpy.roots(系数)
24 N维数组
创建N维数组:numpy.ndarray(shape)
25 掩码值
根据条件掩码值:numpy.ma.masked_where(condition, array)
26 NaN和无穷值处理
处理NaN和无穷值:numpy.isnan()
和numpy.isinf()
27 堆叠
沿新轴堆叠数组:numpy.stack(arrays, axis)
28 直方图
计算直方图:numpy.histogram(array, bins)
29 卷积
-
执行一维卷积:
numpy.convolve(array1, array2)
-
执行二维卷积:
numpy.convolve2d(array1, array2)
30 广播规则
理解并利用NumPy的广播规则。
31 克罗内克积
计算克罗内克积:numpy.kron(array1, array2)
32 花式索引
使用索引数组进行高级索引。
33 多项式积分
对多项式进行积分:numpy.polyint(poly)
34 NaN处理
处理NaN值:numpy.nan_to_num(array)
35 向量堆叠
将一维数组堆叠成二维数组:numpy.column_stack((array1, array2))
36 网格生成
创建坐标网格:numpy.meshgrid(x, y)
37 多项式求导
对多项式求导:numpy.polyder(poly)
38 多项式求值
在特定值处计算多项式的值:numpy.polyval(poly, x)
39 步长技巧
使用numpy.lib.stride_tricks
实现高效内存使用。
40 C序与F序
根据访问模式理解并选择数组顺序(C序或Fortran序)。
41 NaN传播
使用numpy.nanmean()
等函数妥善处理NaN值。
42 einsum函数
利用numpy.einsum
进行高级张量运算。
这些技巧涵盖了NumPy的广泛功能。根据具体用例,某些技巧可能比其他技巧更适用。
推荐书单
《LangChain大模型AI应用开发实践》
本书是一本深度探索LangChain框架及其在构建高效AI应用中所扮演角色的权威教程。本书以实战为导向,系统介绍了从LangChain基础到高级应用的全过程,旨在帮助开发者迅速掌握这一强大的工具,解锁人工智能开发的新维度。
本书内容围绕LangChain快速入门、Chain结构构建、大模型接入与优化、提示词工程、高级输出解析技术、数据检索增强(RAG)、知识库处理、智能体(agent)开发及其能力拓展等多个层面展开。通过详实的案例分析与步骤解说,读者可以学会整合如ChatGLM等顶尖大模型,运用ChromaDB进行高效的向量检索,以及设计与实现具有记忆功能和上下文感知能力的AI智能体。此外,书中还介绍了如何利用LangChain提升应用响应速度、修复模型输出错误、自定义输出解析器等实用技巧,为开发者提供了丰富的策略与工具。
本书主要面向AI开发者、数据科学家、机器学习工程师,以及对自然语言处理和人工智能应用感兴趣的中级和高级技术人员。
【5折促销中】购买链接:https://item.jd.com/14848506.html
精彩回顾
百度App接入满血版DeepSeek,10条超级Python脚本赋能职场