gpt4 book ai didi

python - 传递给 `np.ones` 的参数是什么?它在这里如何工作?

转载 作者:行者123 更新时间:2023-12-01 08:04:52 24 4
gpt4 key购买 nike

我实际上想将数组乘以 3,并尝试在形状内使用 * 3。然后我意识到它必须在 np.ones 之外,例如 np.ones((1,2))*4 。但想知道为什么这会产生指数结果。有人可以向我解释一下以下行为吗?

np.ones((1,2)*1) 返回 array([[1., 1.]])

np.ones((1,2)*2) 返回

array([[[[1., 1.]],
[[1., 1.]]]])

np.ones((1,2)*3) 返回

array([[[[[[1., 1.]],
[[1., 1.]]]],
[[[[1., 1.]],
[[1., 1.]]]]]])

类似地,np.ones((1,2)*4) 返回

array([[[[[[[[1., 1.]],
[[1., 1.]]]],
[[[[1., 1.]],
[[1., 1.]]]]]],
[[[[[[1., 1.]],
[[1., 1.]]]],
[[[[1., 1.]],
[[1., 1.]]]]]]]])

不幸的是,documentation对此没有任何解释。

最佳答案

np.ones 接受 shape 参数并根据您的规范返回 N 维数组。例如,使用 np.ones((10,)),您将获得一个包含 10 个元素的一维数组... np.ones((3, 5)) 将给你一个大小为 3x5 的 2D 数组,其中有 3*5=15 个元素,...等等。

现在,您已经完成了(例如)(1, 2) * 3,如果您在 python REPL 中运行,将会显示

(1, 2) * 3
# (1, 2, 1, 2, 1, 2)

将其传递给 np.ones 将返回形状为 (1, 2, 1, 2, 1, 2) 且包含 8 个元素的 6D 数组。

np.ones((1, 2)*3)     
array([[[[[[1., 1.]],
[[1., 1.]]]],
[[[[1., 1.]],
[[1., 1.]]]]]])

_.shape
# (1, 2, 1, 2, 1, 2)

其他人也类似。

关于python - 传递给 `np.ones` 的参数是什么?它在这里如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55588365/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com