【发布时间】:2020-11-26 16:48:24
【问题描述】:
假设有一个 numpy 二维数组如下:
>>> x = np.array([[4,2,3,1,1], [1,0,3,2,1], [1,4,4,3,4]])
>>> x
array([[4, 2, 3, 1, 1],
[1, 0, 3, 2, 1],
[1, 4, 4, 3, 4]])
我的目标是 - 在每一行中找到值 4 的第一次出现,并将该行中的其余元素(包括该元素)设置为 0。因此,在此操作之后,转换后的数组应如下所示:
>>> x_new
array([[0, 0, 0, 0, 0],
[1, 0, 3, 2, 1],
[1, 0, 0, 0, 0]])
这样做的pythonic和优化方式是什么?我尝试了np.argmax() 和np.take() 的组合,但无法实现最终目标。
【问题讨论】:
标签: arrays python-3.x numpy machine-learning data-science