我经常使用的4酷Numpy功能

在本文中,我想谈谈我一直用于分析数据的几个Numpy函数。 这绝不是一个详尽的清单,但是我认为将要讨论的工具将毫无例外地对所有人有用。



面对一项新任务,我一遍又一遍地想:“这是一件相当具体的事情,几乎没有内置功能。” 在Numpy的情况下,我常常错是错。


但是,让我们说清楚。 我们需要的唯一导入行:





其中()


where()函数将返回满足特定条件的元素。 让我们来看一个例子。


创建一个评级列表( 任意 ):



现在,您可以使用where()查找大于3的估算值:



请注意,将返回搜索到的项目索引


但这当然不是全部,该函数可以采用两个可选参数:


  • 第一个将替换满足条件的值
  • 第二个将对不满足条件的值执行此操作


由于本文旨在简短,因此我们将对此进行详细介绍。




argmin(),argmax(),argsort()


argmin()函数返回最小值的索引。 对于我们上面使用的同一组评分,结果将是:



您可能已经猜到了argmax()恰好相反-返回最大元素的索引:



Trinity的最后一个argsort()将返回数组排序元素的索引列表。 不要忘了它:您将在需要时遇到很多情况。





intersect1d()


intersect1d()函数将返回两个数组的交集,即 两者都有的独特元素。 与前面的示例不同,它不会返回索引,而是返回值本身。


创建两个数组:



查找常见元素:





allclose()


最后,考虑allclose()函数。 如果两个数组的元素在公差范围内相等,则将返回True 。 同样,您不知道在处理数据时需要多久一次一次。


我们将声明两个数组,其对应元素之间的差不超过0.2:



公差为0.1allclose()函数应返回False



将公差增加到0.2,以获得近似的数组相等性:





分词


不要计算我( 和现在 )被指责车轮发明的次数。 通常,我们认为我们的问题是独特的,没有人猜测要创建一种解决该问题的工具。 有时候这是对的,但是通常您会觉得自己是最后一个白痴,而不是您已经花费大量时间创建的那个标准函数,而是找到了一个方便的标准函数。


最好花一些时间探索流行图书馆的可能性,因为这要归功于图书馆的流行。


感谢您的阅读。

Source: https://habr.com/ru/post/zh-CN480740/


All Articles