在本文中,我想谈谈我一直用于分析数据的几个Numpy函数。 这绝不是一个详尽的清单,但是我认为将要讨论的工具将毫无例外地对所有人有用。
面对一项新任务,我一遍又一遍地想:“这是一件相当具体的事情,几乎没有内置功能。” 在Numpy的情况下,我常常错是错。
但是,让我们说清楚。 我们需要的唯一导入行:
其中()
where()函数将返回满足特定条件的元素。 让我们来看一个例子。
创建一个评级列表( 任意 ):
现在,您可以使用where()查找大于3的估算值:
请注意,将返回搜索到的项目的索引 。
但这当然不是全部,该函数可以采用两个可选参数:
- 第一个将替换满足条件的值
- 第二个将对不满足条件的值执行此操作
由于本文旨在简短,因此我们将对此进行详细介绍。
argmin(),argmax(),argsort()
argmin()函数返回最小值的索引。 对于我们上面使用的同一组评分,结果将是:
您可能已经猜到了argmax()恰好相反-返回最大元素的索引:
Trinity的最后一个argsort()将返回数组排序元素的索引列表。 不要忘了它:您将在需要时遇到很多情况。
intersect1d()
intersect1d()函数将返回两个数组的交集,即 两者都有的独特元素。 与前面的示例不同,它不会返回索引,而是返回值本身。
创建两个数组:
查找常见元素:
allclose()
最后,考虑allclose()函数。 如果两个数组的元素在公差范围内相等,则将返回True 。 同样,您不知道在处理数据时需要多久一次一次。
我们将声明两个数组,其对应元素之间的差不超过0.2:
公差为0.1的allclose()函数应返回False :
将公差增加到0.2,以获得近似的数组相等性:
分词
不要计算我( 和现在 )被指责车轮发明的次数。 通常,我们认为我们的问题是独特的,没有人猜测要创建一种解决该问题的工具。 有时候这是对的,但是通常您会觉得自己是最后一个白痴,而不是您已经花费大量时间创建的那个标准函数,而是找到了一个方便的标准函数。
最好花一些时间探索流行图书馆的可能性,因为这要归功于图书馆的流行。
感谢您的阅读。