热线电话:13121318867

登录
2019-03-07 阅读量: 661
替换给定轴的值

一个numpy超立方体例如 x = np.random.rand(8, 8, 8, 8)

尺寸指数,例如 dim = 1

替换阵列,例如 y = np.random.rand(8)

如何替换给定尺寸的所有值?

也就是说,我能做得比:

if dim == 0:

x[0,:,:,:] = y

elif dim == 1:

x[:,0,:,:] = y

elif dim == 2:

x[:,:,0,:] = y

elif dim == 3:

x[:,:,:,0] = y

else:

throw

解决办法:可以通过生成器表达式创建索引元组:

x[tuple(0 if i == dim else slice(None) for i in range(4))] = y

一个更详细的版本:

index = [slice(None)] * len(x.shape)

index[dim] = 0

x[tuple(index)] = y

20.1382
4
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子