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

简介: 纯粹的Numpy就是如此强大,我敢打赌你并非了解它所提供的所有功能。

云栖号:https://www.aliyun.com/#module-yedOfott8
第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!

image

今天,小芯将和大家讨论每天用于数据分析的基本Numpy函数。

“我需要实现的东西不是那么简单,不可能有预建的函数存在”。

这一想法看起来没毛病,然而,是错的。纯粹的Numpy就是如此强大,我敢打赌你并非了解它所提供的所有功能。

那么,事不宜迟,让我们开始吧。

image

Numpy是唯一需要导入的库:

image

argmin(), argmax(), argsort()

好吧,有着难懂命名的这些函数究竟是什么呢?

这确实没有什么难懂之处,但是如果你不想自己实现逻辑(提示:这是不应该的),这3个函数十分适合你。

argmin()函数将返回最小值的索引。若对之前使用的数组应用这一函数,它将返回最小值的索引位置:

image

你应该已经猜到,argmax()会做相反的事情——返回最大值的索引:

image

另一个好用的函数是argsort(),它将返回已排序数组的索引。有许多它可能会派上用场的情况:

image

allclose()

最后需要注意的是allclose()函数。如果两个数组中的项在偏差范围内相等,则返回True。它提供了一种检查两个数组是否相似的好方法,在某些情况下,手动实现这一功能可能会有些麻烦。

首先声明两个列表,并确保无论何处的各项差都不大于0.2:

image

如果以0.1的偏差调用allclose()函数,则返回False:

image

但是若将阈值更改为0.2,则应返回True:

image

intersect1d()

intersect1d()函数将返回两个数组的交集——两个数组中的共同项。与以前的函数不同,它不会返回索引位置,而是会返回实际值。

首先声明两个具有一些共同元素的数组:

image

现在可以使用此函数来查找共同的元素:

image

where()

where()函数会返回满足特定条件的数组元素。可以用一个例子来探讨它。

首先声明一个表示某种等级的数组(该数组是任意的):

image

现在可以使用where()来查找所有大于3的等级:

image

注意它如何返回索引位置。

朋友们,where()的有趣之处不止于此,它还提供两个附加参数:

•第一个参数用来替换满足给定条件的值
•第二个参数用来替换不满足条件的值

image

我曾经常认为自己的问题很独特,不会有人想到写一个函数来解决它。

尽管在某些情况下,事实可能确实如此,但是大多数时候,你会感觉自己像是个白痴,因为你会发现自己花费几个小时手动实现的功能其实有相应的预建函数。

image

是不是傻眼了?

云栖号:https://www.aliyun.com/#module-yedOfott8
第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!

原文发布时间:2020-1-4
本文作者:读芯术
本文来自阿里云云栖号合作伙伴“读芯术”,了解相关信息可以关注“读芯术

相关文章
|
3月前
|
Python
NumPy 教程 之 NumPy 统计函数 9
NumPy提供了多种统计函数,如计算数组中的最小值、最大值、百分位数、标准差及方差等。其中,标准差是一种衡量数据平均值分散程度的指标,它是方差的算术平方根。例如,对于数组[1,2,3,4],其标准差可通过计算各值与均值2.5的差的平方的平均数的平方根得出,结果为1.1180339887498949。示例代码如下: ```python import numpy as np print(np.std([1,2,3,4])) ``` 运行输出即为:1.1180339887498949。
130 50
|
4月前
|
Python
NumPy 教程 之 NumPy 算术函数 1
本教程介绍NumPy中的基本算术函数,如加(add())、减(subtract())、乘(multiply())及除(divide())。示例展示了两个数组(一个3x3矩阵与一数组[10,10,10])间的运算。值得注意的是,参与运算的数组需有相同形状或可按照NumPy的广播规则进行扩展。此外Numpy还提供了许多其他的算术函数以满足复杂计算需求。
47 7
|
4月前
|
Python
NumPy 教程 之 NumPy 算术函数 2
NumPy 教程 之 NumPy 算术函数 2
37 3
|
4月前
|
Python
NumPy 教程 之 NumPy 数学函数 4
NumPy提供了丰富的数学函数,如三角函数、算术函数及复数处理等。本教程聚焦于舍入函数中的`numpy.ceil()`应用。该函数用于返回大于或等于输入值的最小整数(向上取整)。例如,对数组`[-1.7, 1.5, -0.2, 0.6, 10]`使用`np.ceil()`后,输出为`[-1., 2., -0., 1., 10.]`。
41 1
|
3月前
|
Python
NumPy 教程 之 NumPy 统计函数 10
NumPy统计函数,包括查找数组中的最小值、最大值、百分位数、标准差和方差等。方差表示样本值与平均值之差的平方的平均数,而标准差则是方差的平方根。例如,`np.var([1,2,3,4])` 的方差为 1.25。
106 48
|
2月前
|
Python
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
NumPy库中的`np.concatenate`和`np.append`函数,它们分别用于沿指定轴拼接多个数组以及在指定轴上追加数组元素。
58 0
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
|
3月前
|
机器学习/深度学习 搜索推荐 算法
NumPy 教程 之 NumPy 排序、条件筛选函数 8
NumPy提供了多种排序方法,包括快速排序、归并排序及堆排序,各有不同的速度、最坏情况性能、工作空间和稳定性特点。此外,NumPy还提供了`numpy.extract()`函数,可以根据特定条件从数组中抽取元素。例如,在一个3x3数组中,通过定义条件选择偶数元素,并使用该函数提取这些元素。示例输出为:[0., 2., 4., 6., 8.]。
31 8
|
3月前
|
机器学习/深度学习 搜索推荐 算法
NumPy 教程 之 NumPy 排序、条件筛选函数 2
介绍NumPy` 中的排序方法与条件筛选函数。通过对比快速排序、归并排序及堆排序的速度、最坏情况性能、工作空间需求和稳定性,帮助读者选择合适的排序算法。此外,还深入讲解了 `numpy.argsort()` 的使用方法,并通过具体实例展示了如何利用该函数获取数组值从小到大的索引值,并据此重构原数组,使得其变为有序状态。对于学习 `NumPy` 排序功能来说,本教程提供了清晰且实用的指导。
42 7
|
3月前
|
机器学习/深度学习 搜索推荐 算法
NumPy 教程 之 NumPy 排序、条件筛选函数 5
NumPy中的排序方法及特性对比,包括快速排序、归并排序与堆排序的速度、最坏情况性能、工作空间及稳定性分析。并通过`numpy.argmax()`与`numpy.argmin()`函数演示了如何获取数组中最大值和最小值的索引,涵盖不同轴方向的操作,并提供了具体实例与输出结果,便于理解与实践。
28 5
|
3月前
|
算法 索引 Python
Numpy 的一些以 arg 开头的函数
Numpy 的一些以 arg 开头的函数
53 0