假设我们有一个形状数组(10,20,30)。
我想得到的是所有:
1.形状(10)的20 × 30阵列,
1.形状(20)的10 × 30阵列,
- 10*20形状阵列(30)。
手动锁定除一个维度之外的所有维度是很容易的,但是我很难编写一个有效的循环来迭代这种方式,原因是在我的应用程序中,我将有几个维度,它们在2到5之间变化,我将需要获得锁定除一个维度之外的所有维度的所有子数组。
我想我可以使用转置和滚动来创建一个滚动的索引,例如
data = np.zeros((10, 20, 30))
for ndim in range(len(data.shape)):
index = np.arange(0, len(data.shape)), 1)
index = np.roll(index, 1)
_data = np.transpose(data, index)[0]
......然后我意识到这是无用的,因为它与我所需要的相反。
说到这里我都试着问chatgpt了。所以是时候求助了。我完全卡住了
1条答案
按热度按时间qf9go6mv1#
我不太清楚你到底要什么,也许是这样的?
此代码将
data
中的每个轴移动到第一个轴,然后在其余两个维度上循环。