使用Numpy,我可以像这样创建一个5维数组:
>>> faces = numpy.zeros((3, 3, 3, 6, 3))
我希望(all indexes, all indexes, 0, 4)
设置为(1., 1., 1.)
。这只能使用Numpy(没有Python循环)吗?
答案 0 :(得分:3)
以下两种方法都可以:
faces[:,:,0,4] = 1
faces[:,:,0,4] = (1, 1, 1)
第一个使用NumPy将1广播到正确尺寸的所有三个值相同的事实。
第二个更为通用,因为你可以为这三个元素分配不同的值。
答案 1 :(得分:2)
Numpy slice notation支持直接执行此操作
f[:,:,0,4] = 1.0