On Thu, Sep 21, 2006 at 08:35:02PM -0400, P GM wrote: > Folks, > I'm running into the following problem with putmask on take. > > >>> import numpy > >>> x = N.arange(12.) > >>> m = [1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1] > >>> i = N.nonzero (m)[0] > >>> w = N.array([-1, -2, -3, -4.]) > >>> x.putmask(w,m)
You can also use N.place: Similar to putmask arr[mask] = vals but the 1D array vals has the same number of elements as the non-zero values of mask. Inverse of extract. > >>> x.take(i) > >>> N.allclose(x.take(i),w) > False Regards Stéfan ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Numpy-discussion mailing list Numpy-discussion@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/numpy-discussion