Numpy详解,带你一步步了解Numpy(三)

目录

二、主要内容

22、比较,遮罩和布尔逻辑

 23、使用布尔数组

 24、布尔数组作为遮罩

 25、花式索引

 26、组合索引

 27、使用花式索引修改值

 28、快速排序:np.sort()和np.argsort()

 29、按行或列排序

 30、分区排序


二、主要内容

22、比较,遮罩和布尔逻辑

考虑下面的场景,假设我们有2014年西雅图市的日降水量,

这个直方图让我们大致了解了数据的样子,但我们想要回答一些深入的问题,例如:

一年中有多少雨天?

那些雨天的平均降水量是多少?

降雨量超过半英寸的天数有多少?

 Numpy还将比较操作符实现为元素级的ufuncs。

 

 

 23、使用布尔数组

在Python中,True和False分别被解释为1和0。

 当我们想要检查所有值是否为真时,可以使用np.any()或np.all()。

 Numpy将Python的按位逻辑操作符&、|、^和~重载为对布尔数组进行元素级处理的虚函数。

例如: 

 

 24、布尔数组作为遮罩

更强大的模式是使用布尔数组作为掩码,以选择数据本身的特定子集。

屏蔽操作返回一个一维数组,其中填充了掩码数组为True的所有位置的值。

 回到我们降雨量的问题,通过组合布尔运算、屏蔽运算和聚合,我们可以非常快速地回答西雅图雨水数据的一些统计问题。

 25、花式索引

通过传递索引数组来代替单个标量,允许我们非常快速地访问和修改数组值的复杂子集。

结果的形状反映索引数组的形状,而不是被索引的数组的形状。

 26、组合索引

 

 27、使用花式索引修改值

 

 

 28、快速排序:np.sort()和np.argsort()

默认情况下,np.sort()使用O[NlogN],这是一种快速排序算法,不过也可以使用合并排序和堆排序。

对于大多数应用程序,默认的快速排序已经足够了。

 

 29、按行或列排序

 30、分区排序

有时我们对整个数组的排序不感兴趣,而只是想找到数组中最小的k个值

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
numpy是一个开源的Python科学计算库,它提供了一个强大的多维数组对象和用于处理这些数组的函数。下面是关于numpy模块的详细解释: 1. 数组:numpy最重要的特性之一是它的数组对象(numpy.ndarray)。这是一个由相同类型的元素组成的多维容器。数组可以是一维、二维、维等等,并且可以包含整数、浮点数、复数等不同类型的数据。 2. 数组操作:numpy提供了一系列用于操作数组的函数和方法。你可以进行基本的数学运算(加、减、乘、除等)、统计计算(平均值、标准差等)、逻辑运算(与、或、非等)以及数组的切片、索引等操作。 3. 广播:numpy的广播功能使得不同形状的数组之间的运算成为可能。它可以自动调整不同形状数组的大小,使得它们能够进行元素级别的运算。 4. 矩阵操作:numpy还提供了许多矩阵操作的函数和方法。你可以进行矩阵的转置、求逆、乘法、求特征值和特征向量等操作。 5. 随机数生成:numpy包含了一个random子模块,用于生成各种类型的随机数。你可以生成服从特定分布(如正态分布、均匀分布等)的随机数,并进行各种随机抽样操作。 6. 文件操作:numpy可以读取和写入数组数据到磁盘。它支持多种数据格式,包括文本文件、二进制文件和压缩文件。 总之,numpy提供了丰富的功能和高效的数组操作,使得Python成为一种强大的科学计算语言。它在数据分析、机器学习、图像处理等领域广泛应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值