【发布时间】:2018-10-31 14:44:11
【问题描述】:
我有一个如下所示的 numpy 数组:
a = np.array([[0.87, 1.10, 2.01, 0.81 , 0.64, 0. ],
[0.87, 1.10, 2.01, 0.81 , 0.64, 0. ],
[0.87, 1.10, 2.01, 0.81 , 0.64, 0. ],
[0.87, 1.10, 2.01, 0.81 , 0.64, 0. ],
[0.87, 1.10, 2.01, 0.81 , 0.64, 0. ],
[0.87, 1.10, 2.01, 0.81 , 0.64, 0. ]])
我喜欢通过将“左下”部分设置为零来进行操作。而不是循环遍历行和列,我想通过索引来实现这一点:
ix = np.array([[1, 1, 1, 1, 1, 1],
[0, 1, 1, 1, 1, 1],
[0, 0, 1, 1, 1, 1],
[0, 0, 0, 1, 1, 1],
[0, 0, 0, 0, 1, 1],
[0, 0, 0, 0, 0, 1]])
但是a[ix] 并没有达到我的预期,因为a[ix].shape 现在是(6,6,6),即添加了一个新维度。我需要做什么才能保留a 的形状,但左下角全为零?
【问题讨论】:
标签: python python-3.x numpy numpy-indexing