argmax函数_敲黑板!你(可能)不知道的4个重要Numpy函数

90d2fce562e61531f88df6aa6bc97a6f.png 点击菜单栏“粉丝福利” 拿小度,兑手机!

本文转载自公众号“读芯术”(ID:AI_Discovery)

“我需要实现的东西不是那么简单,不可能有预建的函数存在”。   这一想法看起来没毛病,然而,是错的。 纯粹的Numpy就是如此强大,我敢打赌你并非了解它所提供的所有功能。   那么,事不宜迟,让我们开始吧。   e414b6ecb2b2957ca8fea40241ae101f.png 来源:Unsplash Numpy是唯一需要导入的库: 60ae120255cfe58696897f3ffeb019b4.png

argmin(), argmax(), argsort()

  好吧,有着难懂命名的这些函数究竟是什么呢?   这确实没有什么难懂之处,但是如果你不想自己实现逻辑(提示: 这是不应该的),这3个函数十分适合你。   argmin()函数将返回最小值的索引。 若对之前使用的数组应用这一函数,它将返回最小值的索引位置:   ccd569478d1cfab899a7025f66aad86d.png 你应该已经猜到,argmax()会做相反的事情——返回最大值的索引:   e78896bbb8f62c2fe16a1c028a205da9.png 另一个好用的函数是argsort(),它将返回已排序数组的索引。 有许多它可能会派上用场的情况:   2e1fedb5c0aae83bab7d4417e18a7cdf.png

allclose()

  最后需要注意的是allclose()函数。 如果两个数组中的项在偏差范围内相等,则返回True。 它提供了一种检查两个数组是否相似的好方法,在某些情况下,手动实现这一功能可能会有些麻烦。   首先声明两个列表,并确保无论何处的各项差都不大于0.2:   f8b12a46943db9fbce0172778a0c8d8d.png 如果以0.1的偏差调用allclose()函数,则返回False:   bf09c14848d7642505c2902ed37189b3.png 但是若将阈值更改为0.2,则应返回True:   284a8b3d44e043858fe13ec6455ca58a.png

intersect1d()

  intersect1d()函数将返回两个数组的交集——两个数组中的共同项。 与以前的函数不同,它不会返回索引位置,而是会返回实际值。   首先声明两个具有一些共同元素的数组:   913e320e302df2f2ab6c9f05d52e5166.png 现在可以使用此函数来查找共同的元素:   bb45ddd6140a4a2c7ae0d63ee1d362e2.png

where()

  where()函数会返回满足特定条件的数组元素。 可以用一个例子来探讨它。   首先声明一个表示某种等级的数组(该数组是任意的):   7e053931bb3e963ba789333f801aff3e.png 现在可以使用where()来查找所有大于3的等级:   19db7db764c1c4d760649a015fe8e01d.png 注意它如何返回索引位置。   朋友们,where()的有趣之处不止于此,它还提供两个附加参数:   •第一个参数用来替换满足给定条件的值 • 第二个参数用来替换不满足条件的值   154e20f0c941374112aa4fceb4a1f76c.png 我曾经常认为自己的问题很独特,不会有人想到写一个函数来解决它。   尽管在某些情况下,事实可能确实如此,但是大多数时候,你会感觉自己像是个白痴,因为你会发现自己花费几个小时手动实现的功能其实有相应的预建函数。 cca0dd44ea44591dbfa30d12884743e9.png 来源:Unsplash   是不是傻眼了? 9f17018b75bee0f0086c0bead86f06f3.gif

本文转载自公众号“读芯术”(ID:AI_Discovery)

c8f5b167c65ad55febf7988285ef32b2.gif 851d2fdd7582ccbc1ef3d7076094921b.png b14de2fca32e7331a0716430be92d9b6.png f9bd85e90946111987b3a7b6e0ca2403.png 2572c928b83c62c8a2195afb0f59fe66.png 036f319103b95f5319f2c6dfdf8bc0e0.png c0851efda182fc8086a6044ec36a8e74.png b50661ff7e580874e97bce9aaccffda4.png 3a957eefdf26c5b8e0d5470ee296fa25.png
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值