On Fri, May 9, 2008 at 11:23 AM, Robert Kern <[EMAIL PROTECTED]> wrote:
> On Fri, May 9, 2008 at 12:52 PM, Keith Goodman <[EMAIL PROTECTED]> wrote:
>> The recently proposed changes to the matrix class was the final push I
>> needed to begin slowly porting my package from matrices to arrays. But
>> I'm already stuck in the first stage (all new modules must use
>> arrays).
>>
>> Here's a toy example of iterating over columns of a matrix:
>>
>> x is a nxm matrix
>> y is a nx1 matrix
>>
>> for j in xrange(x.shape[1]):
>>    idx = where(y > scalar)[0]
>>    x[idx,j] = scalar
>>
>> If x and y become 2d arrays, the code still works. But what confuses
>> me is how to generalize it to work for both 2d and 1d arrays.
>
> Use atleast_2d(x) to get a 1xm array, then use your 2D code on it.

That looks good. But at the end of the function I'll have to convert
back to a 1d array if the input is 1d

np.whence_you_came_from(x)

I guess there is no way to not test for the shape.
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to