100个NumPy小技巧,让你精通Python科学计算

NumPy 数组操作秘籍:助力数据处理与科学计算。

微信搜索关注《Python学研大本营》

1 数组创建与操作

  1. 创建数组:numpy.array([1, 2, 3])

  2. 创建等差序列:numpy.arange(start, stop, step)

  3. 创建均匀分布的值:numpy.linspace(start, stop, num)

  4. 创建全零数组:numpy.zeros(shape)

  5. 创建全一数组:numpy.ones(shape)

  6. 创建单位矩阵:numpy.eye(n)

  7. 重塑数组:array.reshape(new_shape)

  8. 扁平化数组:array.flatten()

  9. 转置数组:array.T

  10. 水平拼接数组:numpy.hstack((array1, array2))

  11. 垂直拼接数组:numpy.vstack((array1, array2))

  12. 分割数组:numpy.split(array, indices_or_sections)

2 数组索引与切片

  1. 访问元素:array[i]

  2. 切片数组:array[start:stop:step]

  3. 访问最后一个元素:array[-1]

  4. 访问多个元素:array[[1, 3, 5]]

  5. 使用布尔索引:array[array > 0]

  6. 通过索引设置元素:array[i] = value

  7. 反转数组:array[::-1]

3 数学运算

  1. 逐元素相加:array1 + array2

  2. 逐元素相减:array1 - array2

  3. 逐元素相乘:array1 * array2

  4. 逐元素相除:array1 / array2

  5. 计算点积:numpy.dot(array1, array2)

  6. 计算矩阵乘法:numpy.matmul(array1, array2)

  7. 逐元素求平方根:numpy.sqrt(array)

  8. 逐元素求指数:numpy.exp(array)

  9. 逐元素求对数:numpy.log(array)

  10. 逐元素求正弦值:numpy.sin(array)

  11. 逐元素求余弦值:numpy.cos(array)

  12. 逐元素求和:numpy.sum(array)

  13. 计算累积和:numpy.cumsum(array)

4 统计运算

  1. 计算均值:numpy.mean(array)

  2. 计算中位数:numpy.median(array)

  3. 计算标准差:numpy.std(array)

  4. 计算方差:numpy.var(array)

  5. 查找最小值:numpy.min(array)

  6. 查找最大值:numpy.max(array)

  7. 查找最小值的索引:numpy.argmin(array)

  8. 查找最大值的索引:numpy.argmax(array)

  9. 计算相关系数:numpy.corrcoef(array1, array2)

5 随机操作

  1. 生成随机数:numpy.random.rand(shape)

  2. 生成随机整数:numpy.random.randint(low, high, size)

  3. 打乱数组:numpy.random.shuffle(array)

  4. 随机选择元素:numpy.random.choice(array, size)

6 线性代数

  1. 计算特征值和特征向量:numpy.linalg.eig(array)

  2. 求解线性方程组:numpy.linalg.solve(A, b)

  3. 计算矩阵行列式:numpy.linalg.det(array)

  4. 计算矩阵的逆:numpy.linalg.inv(array)

7 数组比较

  1. 逐元素相等比较:array1 == array2

  2. 逐元素不等比较:array1 != array2

  3. 检查是否有元素为True:numpy.any(array)

  4. 检查所有元素是否都为True:numpy.all(array)

8 排序

  1. 对数组进行排序:numpy.sort(array)

  2. 沿指定轴排序:numpy.sort(array, axis=0)

  3. 获取排序后元素的索引:numpy.argsort(array)

9 集合操作

  1. 查找唯一元素:numpy.unique(array)

  2. 查找交集:numpy.intersect1d(array1, array2)

  3. 查找并集:numpy.union1d(array1, array2)

  4. 查找差集:numpy.setdiff1d(array1, array2)

10 广播机制

  1. 对不同形状的数组执行操作:广播机制会自动扩展较小的数组。

  2. 重塑数组以方便广播。

11 内存效率

  1. 使用NumPy的视图(例如array.view())进行高效内存切片。

  2. 使用numpy.copy()创建数组的深拷贝。

12 向量化

  1. 使用向量化操作提升性能。

  2. 尽可能避免显式循环。

13 文件输入/输出

  1. 将数组保存到文本文件:numpy.savetxt(filename, array)

  2. 从文本文件加载数组:numpy.loadtxt(filename)

14 日期处理

使用numpy.datetime64进行日期和时间操作。

15 多项式运算

  1. 定义多项式:numpy.poly1d([系数])

  2. 计算多项式的值:poly(x)

16 图像处理

使用NumPy进行基本的图像处理(例如裁剪、调整大小)。

17 掩码数组

使用掩码数组(numpy.ma)处理缺失或无效数据。

18 插值

对数据进行插值:numpy.interp(x, xp, fp)

19 傅里叶变换

  1. 执行一维傅里叶变换:numpy.fft.fft(array)

  2. 执行二维傅里叶变换:numpy.fft.fft2(array)

20 常数

访问数学常数,如numpy.pinumpy.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 卷积

  1. 执行一维卷积:numpy.convolve(array1, array2)

  2. 执行二维卷积: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脚本赋能职场

20个Python超级脚本,让你日常工作有如神助

15个Cursor小技巧,让你精通AI编程

10个超级Python脚本,生活办公更高效

Python脚本运行速度太慢,用这10个方法解决

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值