我需要能夠返回一個多維數組的一部分,但我不知道如何以正確的方式做到這一點。我做的方式似乎很天真:如何在Python中返回多維數組的子數組?
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]
。
我不知道爲什麼。我怎樣才能讀取一個數組的一部分,而不指定元素的元素,但給我想要作爲一個包的數組的索引?
P.S.感謝@ hcwhsa,我更新了問題以更具體地解決我想要的問題。
你想要什麼第二件事返回?特別是,你希望'a [b,:,c] .shape'是什麼? – user2357112
@ user2357112同樣的事情,即'[1,1,1]'只是用這種新的方式調用 – Cupitor
你的用例是什麼?爲什麼你有這些'b'和'c'陣列? – user2357112