如果我有一个2d numpy(整数,d也是整数)数组,如
[[0 1 2 d]
[3 4 d 5]
[6 d 7 8]]
字符串
我怎么能0所有元素(按行)后d(和包括)每行?
我已经使用了for循环,但我想知道是否有一个通过numpy的向量化方法。我刚刚看到,也许你可以减去一个三角矩阵:
[[0 0 0 d]
[0 0 d 5]
[0 d 7 8]]
型
但这并不能解决我的问题,因为它需要将d之前的值归零。
编辑:
repr(array)
array([[0, 1, 2, d],
[3, 4, d, 5],
[6, d, 7, 8]], dtype=int64)
型
1条答案
按热度按时间tzdcorbm1#
IIUC,你可以用
cumsum
制作一个掩码,并用它来屏蔽where
的前导值:字符串
带有
cumprod
的变体和就地修改:型
输出量:
型
中间掩码(对于第一种方法,非零值被认为是
True
):型