1 回答
TA贡献1921条经验 获得超9个赞
您可能应该只安装适当版本的 Python 并numpy在尝试这样的转换时。
通过在 CLI 上进行几行简单的测试,您就可以回答自己的问题:
>>> import numpy as np
>>> np.random.rand(1, 2)
array([[0.08239857, 0.15732393]])
>>> x = np.random.rand(1, 2)
>>> x
array([[0.08155715, 0.57869165]])
>>> x - .5
array([[-0.41844285, 0.07869165]])
所以,是的——该numpy.ndarray类型定义了一个减法操作,当以数字作为第二个操作数并以数组作为第一个操作数时,从数组的每个元素中减去该数字。
对于除法,类似地:
>>> x *= 10
>>> x
array([[0.81557146, 5.78691654]])
>>> x /= 10
>>> x
array([[0.08155715, 0.57869165]])
不同之处在于,它/会返回一个新的结果数组 (in x / 10),而将/=结果分配给x,覆盖其在 中的值x /= 10。
最后一个例子比较复杂,但非常典型地numpy说明了库的实现方式。类似于和-被/=分发的操作,对数组应用比较会分发它并返回一个布尔值数组,然后可以将其用作“索引”以准确选择布尔值数组所对应的数组值是True。
0然后,在您给出的示例中,它会继续将这些选定的值准确设置为。
询问如何用 JavaScript 编写这些操作只是要求 SO 为您编写代码——既然您了解会发生什么,您应该尝试在 JavaScript 中实现相同的逻辑。如果遇到您不理解的特定问题,您可以针对这些问题提出单独的问题。
添加回答
举报