2016-08-18 6 views
3

私は全体に0が点在する1次元配列を持っています。そのような最後のゼロの位置を含む二番目の配列を作成したいと思います:1dの最後の値のアドレスNumPyの配列

>>> 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の機能や放送トリックループまたは他のイテレータのために使用せずにこれを行うにはありますか?

答えて

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

うわー、これは本当にクールです! – ForceBru

関連する問題