【发布时间】:2020-07-17 15:52:34
【问题描述】:
我想要一个像这样的基本 3d 数组:
b = np.arange(1,101).reshape(4,5,5)
b
那我想拿第一个索引,像楼梯一样往下走。
b1 = [b[0:,0,0],b[0:,1,1],b[0:,2,2],b[0:,3,3],b[0:,4,4]]
b1 = np.asarray(b1)
b1 = np.transpose(b1)
b1
上面的代码看起来不正确,我宁愿使用循环。 这是我目前所拥有的:
for i in range(0,5):
b2 = b[0:,i,i]
b2 = np.asarray(b2)
b2 = b2.reshape(4,1)
print(b2)
我对上述输出的问题是将每次迭代放入一个垂直数组,然后移至下一个。如何使上面的代码输出类似于我的第二个代码块?
对于格式不佳、stackoverflow 新手以及刚开始学习 code/numpy 的人表示歉意。
谢谢!
【问题讨论】:
标签: python arrays numpy numpy-slicing