gpt4 book ai didi

python - 如何在 Python 中返回多维数组的子数组?

转载 作者:太空宇宙 更新时间:2023-11-04 01:22:36 25 4
gpt4 key购买 nike

我需要能够返回多维数组的一部分,但我不知道如何以正确的方式执行此操作。我这样做的方式似乎很幼稚:

import numpy as np
a=np.ones([3,3,3,3,3])
b=np.asarray([2,2])
c=np.asarray([2,2])
print a[b[0],b[1],:,c[0],c[1]]

会回来

[1,1,1]

但是我想要的是这样的:

a=np.ones([3,3,3,3,3])
b=np.asarray([2,2])
c=np.asarray([2,2])
print a[b,:,c]

它返回 a 本身,尽管我希望它返回 [1,1,1]

我也不知道为什么。如何在不逐个元素指定的情况下读取数组的一部分,而是给出我想要的数组的索引作为一个包?

附言感谢@hcwhsa,我更新了问题以更具体地解决我想要的问题。

最佳答案

b 定义为一个元组:

>>> b = (2, 2)
>>> a[b]
array([ 1., 1., 1.])

或者在将其传递给a[]

之前将其转换为 元组
>>> b = np.asarray([2,2])
>>> a[tuple(b)]
array([ 1., 1., 1.])

关于python - 如何在 Python 中返回多维数组的子数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20182986/

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