python模块介绍之数组操作numpy

作者:LIANG, Southampton, UK

NumPy(Numerical Python)是一个开源的Python库,提供了多维数组(ndarray)和各种用于数组操作的函数。它是科学计算、数据分析和机器学习等领域中最常用的库之一,具有强大的数组操作功能。

常用的NumPy函数功能:

  • 创建数组: NumPy可以创建多维数组,包括一维、二维、三维等不同维度的数组。
  • 数组操作: NumPy提供了丰富的数组操作,如索引、切片、重塑、合并、分割等。
  • 数学运算: NumPy支持基本的数学运算,如加、减、乘、除,以及各种数学函数如三角函数、指数函数、对数函数等。
  • 线性代数: NumPy提供了线性代数运算,如矩阵乘法、求逆、特征值分解、奇异值分解等。
  • 随机数生成: NumPy包含随机数生成函数,可以生成各种分布的随机数。
  • 聚合函数: NumPy提供了聚合函数,如求和、平均值、最大值、最小值等。
  • 索引和切片: 可以使用整数索引、布尔索引和切片来访问和修改数组中的元素。
  • 广播: NumPy支持广播,可以对不同维度的数组进行运算,使其具有相同的形状。
  • 数组比较和逻辑操作: NumPy可以进行数组的逻辑运算、比较运算、布尔索引等。
  • 文件操作: NumPy可以将数组保存到文件中,或从文件中加载数组数据。
  • 内存管理: NumPy可以管理数组的内存分配和释放,减少了Python列表的内存开销。
  • 傅里叶变换: NumPy提供了快速的傅里叶变换函数,用于信号处理和频域分析。
  • 图像处理: NumPy可以处理图像数据,执行图像变换、滤波、边缘检测等操作。
  • 数据统计: NumPy提供了统计函数,如计算均值、方差、标准差、相关系数等。
  • 矢量化操作: NumPy的函数支持矢量化操作,可以对整个数组执行操作,而不需要显式的循环。

总之,NumPy是一个非常强大的库,提供了许多用于数组操作和数值计算的函数。它为科学计算提供了基础,让用户能够高效地进行各种数值和数组操作。

numpy中的常用函数:

import numpy as np
  • 建数组:

numpy.array(): 创建一个NumPy数组。
numpy.zeros(), numpy.ones(): 创建全零或全一数组。
numpy.empty(): 创建未初始化的数组。
numpy.arange(): 创建一个等差数列数组。
numpy.linspace(): 创建一个等间隔数列数组。
numpy.eye(): 创建单位矩阵数组。

  • 数组操作:

numpy.shape(), numpy.ndim, numpy.size: 获取数组的形状、维度和大小。
numpy.reshape(): 改变数组的形状。
numpy.concatenate(), numpy.vstack(), numpy.hstack(): 数组的合并和堆叠操作。
numpy.split(), numpy.hsplit(), numpy.vsplit(): 数组的分割操作。
numpy.transpose(), numpy.T: 数组的转置操作。

  • 数学运算:

numpy.add(), numpy.subtract(), numpy.multiply(), numpy.divide(): 加减乘除操作。
numpy.dot(), numpy.matmul(): 矩阵乘法操作。
numpy.exp(), numpy.log(), numpy.sqrt(), numpy.sin(), numpy.cos(), numpy.tan(): 指数、对数、平方根、三角函数等数学函数。

  • 随机数生成:

numpy.random.rand(), numpy.random.randn(): 生成随机数。
numpy.random.randint(): 生成随机整数。
np.random.uniform(a,b):生成[a,b]区间内的随机数。
numpy.random.choice(): 从给定数组中随机选择元素。

  • 聚合函数:

numpy.sum(), numpy.mean(), numpy.median(): 求和、均值、中位数。
numpy.min(), numpy.max(): 最小值、最大值。
numpy.std(), numpy.var(): 标准差、方差。

  • 数组比较和逻辑操作:

numpy.equal(), numpy.not_equal(), numpy.greater(), numpy.less(): 比较操作。
numpy.logical_and(), numpy.logical_or(), numpy.logical_not(): 逻辑操作。

  • 线性代数:

numpy.linalg.inv(): 计算矩阵的逆。
numpy.linalg.det(): 计算矩阵的行列式。
numpy.linalg.eig(): 计算矩阵的特征值和特征向量。

  • 文件操作:

numpy.save(), numpy.savez(), numpy.load(): 数组的保存和加载。

  • 数据统计:

numpy.histogram(): 计算直方图。
numpy.corrcoef(): 计算相关系数矩阵。

  • 数组查找和排序:

numpy.argmax(), numpy.argmin(): 返回数组中最大值和最小值的索引。
numpy.sort(), numpy.argsort(): 对数组进行排序和返回排序后的索引。
numpu.nanmax(),numpy.nanmin(): 查找非nan的最大值与最小值。
numpu.max(),numpy.min(): 查找最大值与最小值。

  • 数据处理与清洗

numpy.isnan(arr): 判断数组中的元素是否为NaN。
numpy.nan_to_num(arr): 将数组中的NaN值替换为0,将无穷大值替换为较小的数。
numpy.fillna(arr, value): 将数组中的NaN值替换为特定值。
numpy.delete(arr, indices, axis=None): 从数组中删除指定行或列。
numpy.extract(condition, arr): 根据条件提取满足条件的数组元素。
numpy.where(condition, x, y): 根据条件替换数组中的值。
numpy.sort(a, axis=-1, kind=None, order=None): 对数组进行排序。
numpy.clip(a, a_min, a_max, out=None): 将数组中的值限制在指定范围内。
numpy.unique(arr, return_index=False, return_inverse=False, return_counts=False): 返回数组中的唯一值。
numpy.linalg.norm(x, ord=None, axis=None, keepdims=False): 将数组的值缩放到单位范数。
numpy.std(arr, axis=None, dtype=None, out=None, ddof=0, keepdims=<no value>): 计算数组的标准差。
numpy.mean(arr, axis=None, dtype=None, out=None, keepdims=<no value>): 计算数组的平均值。
numpy.concatenate((a1, a2, ...), axis=0, out=None): 合并数组。
numpy.vstack(tup): 垂直(按行)堆叠数组。
numpy.hstack(tup): 水平(按列)堆叠数组。

  • 卷积和滤波
  • 傅立叶变换
  • 图像处理
  • 多项式
  • 插值

值得注意的是,numpy中的许多用法在pandas中也用类似的使用。作者认为,numpy是一个比pandas更加轻量级的库。在学习完numpy的使用后,去学习pandas效果更好。关于numpy更多用法,请参考Numpy官网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值