Python 1d NumPy数组中最后一个值的地址

Python 1d NumPy数组中最后一个值的地址,python,arrays,numpy,Python,Arrays,Numpy,我有一个1d数组,其中零散分布。要创建第二个数组,其中包含最后一个零的位置,如下所示: >>> a = np.array([1, 0, 3, 2, 0, 3, 5, 8, 0, 7, 12]) >>> foo(a) [0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3] 是否有一个内置的NumPy函数或广播技巧可以在不使用for循环或其他迭代器的情况下执行此操作 >>> (a == 0).cumsum() array([0, 1

我有一个1d数组,其中零散分布。要创建第二个数组,其中包含最后一个零的位置,如下所示:

>>> a = np.array([1, 0, 3, 2, 0, 3, 5, 8, 0, 7, 12])
>>> foo(a)
[0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3]
是否有一个内置的NumPy函数或广播技巧可以在不使用for循环或其他迭代器的情况下执行此操作

>>> (a == 0).cumsum()
array([0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3])