gpt4 book ai didi

python - Numpy:用括号和逗号切片有什么区别?

转载 作者:行者123 更新时间:2023-12-05 01:53:15 25 4
gpt4 key购买 nike

numpy 中 [x][y][:] 和 [x, y, :] 有什么区别?在我的示例中,我想将 np.ndarray 分配给另一种方法,一种方法有效,而另一种方法无效。使用相同的索引,所以我真的很想知道为什么。谢谢。

>>> gtfb_fft_hypercube.shape
(187, 42, 96, 1026)
>>> amp_mod_cube.shape
(42, 1025, 187)
>>> gtfb_fft_hypercube[0][0][0][1:] = amp_mod_cube[0][:][0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: could not broadcast input array from shape (187,) into shape (1025,)
>>> gtfb_fft_hypercube[0, 0, 0, 1:] = amp_mod_cube[0, :, 0]
>>>

最佳答案

每个 [] 都是一个 __getitem__ 调用(或 set[]= 的情况下)。

[:] 本身什么都不做。在一个小阵列中自行测试。

[0][0][0][1:] 等同于 [0,0,0,1:](虽然速度稍慢)。

[0][:][0] 等同于 [0,0] 或在这种 3d 情况下 [0,0,:] 。从错误消息中应该可以看出这一点。它选择最后一个维度,而不是中间维度。

大多数时候,在进行多维数组索引时,使用单操作语法[ , , ,]。并花更多时间阅读基本的 numpy 文档,尤其是大索引页面

https://numpy.org/doc/stable/user/basics.indexing.html

关于python - Numpy:用括号和逗号切片有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71138439/

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