1.-np.arange() 在 numpy 中是什么意思?

What does the 1.-np.arange() mean in numpy?

提问人:Despaxir 提问时间:9/20/2023 更新时间:9/20/2023 访问量:91

问:

我有以下代码行作为我的 python 课程中示例的一部分提供给我

np.sqrt(1.-np.arange(0,1.01,0.01)**2)

但尚未给出任何解释。我对 1.-np.arange() 是什么意思感到困惑?所以在此之前,我不知道你可以做 1.然后在它旁边有函数 np.arange(),更不用说在函数之前和浮点 1 之后有一个负号了。

这行代码是如何工作的?此外,您能否给我一些我可以做到这一点的其他函数的示例,或者您能否为我指出正确的方向,以便我可以在哪里了解更多信息(以便我可以在其他场景中与其他函数一起使用它)?

我去了numpy.arange()的文档,但没有找到任何东西。我将以下代码行放入 Jupyter 笔记本中,发现它返回了一个包含一些负数的数组,前两个数字分别是 1 和 0。我以为它不会起作用,因为我以前没有遇到过它。事实上,我以为这是我得到的笔记中的错别字,但似乎不是。

打印(1.-np.arange(0,100,1))

python 函数 方法 numpy-ndarray

评论

0赞 Frank Yellin 9/20/2023
你的意思是“我去了文档......什么也没找到”。我在谷歌上输入了信息,它把我带到了一个页面,它准确地告诉我它做了什么,包括例子。numpy.arange
0赞 Michael Butscher 9/20/2023
arange返回一个 numpy 数组。numpy 数组与算术运算符和数字组合在一起,返回一个新数组,其中包含原始数组中每个数字的算术运算结果。无论顺序是数组、运算符、数字还是数字、运算符、数组,这都有效。
0赞 Despaxir 9/20/2023
哦,所以它只是 1 减去创建的数组中的每个元素?好的,谢谢!你把空格放在 1 和减号之间帮助我得到了它。我现在发这个帖子觉得很傻,不知道为什么我以前看不到它。
0赞 jared 9/20/2023
这个问题可能应该删除。我不确定有什么理由保留它。
1赞 hpaulj 9/20/2023
通常在 python 中,您可以通过找到“最内层/最先”的函数或操作并从那里计算出来来弄清楚会发生什么。In 确实需要对 python 语法有基本的了解,并识别何时某些内容来自已移植的包。这是起点。这就形成了一个数组(小或大)。剩下的就是基本的数组数学 - 从中减去(这不是对 !然后是平方和平方根。逐个测试,并查看值。np.arange(4)11.

答:

0赞 user2586955 9/20/2023 #1

您只需要单独分解这些术语并理解它们,但在这样做之前,您需要记住,您可以在两个方向上使用 +/- 从 numpy 数组中添加/减去标量。 所以现在 np.arange(0, 1.01, 0.01) 它从 [0, 1] 返回一个步长为 0.01 的数组,所以大约 101 个元素,我们称之为 A。 然后 A**2 对 A 应用平方元素,因此所有元素都将乘以自身,我们称之为 B。 然后从 1.0 或 1 中减去 B。由 1.- B,这意味着如果你在 B 中有零,它将变为 1(请注意,小于 1 的平方元素会使它们比以前小,这意味着所有值仍然是正数),我们称之为 C。 最后,您将 sqrt 应用于 C,它都是正值,然后得到结果。

result = np.sqrt(1.-np.arange(0,1.01,0.01)**2)
# OR
A = np.arange(0, 1.01, 0.01)
B = A**2
C = 1.0 - B
result = np.sqrt(C)

评论

0赞 Despaxir 9/21/2023
是的,谢谢。我意识到我很困惑,因为我认为 1.意味着这是一个带有 numpy 函数的方法,这对我来说没有意义。我现在明白了,谢谢!