我非常困惑與這個問題作斗爭,即使它非常簡單:我有一個 numpy 數組a在哪里a.shape == (16,4,1000,60)我真的不喜歡a[:,:,:,5] == x我想刪除以上所有內容,以生成bwhere b.shape == (16,4,k,60), wherek是一個未知但恒定的數字。where 的索引a[0,0,:,5] == x不一定與 where 的索引相同a[0,1,:,5] == x,但它們總是存在k的。有任何想法嗎?謝謝!編輯:我剛剛發現,如果我這樣做:b = a[a[:,:,:,5] == x]k = b.size / (16*4*60)b = b.reshape([16,4,k,60])b.shape # e.g. (16,4,3,60)它有效,但這似乎不是一個很好的解決方案。有沒有辦法明確地保持尺寸?
1 回答

收到一只叮咚
TA貢獻1821條經驗 獲得超5個贊
而不是b = b.reshape([16,4,k,60])
只做一個b = b.reshape((16,4,-1,60))
. numpy
將為您找出隱含的維度。
一個且只有一個形狀維度可以是-1。在這種情況下,該值是從數組的總大小和其他維度推斷出來的。
添加回答
舉報
0/150
提交
取消