[Numpy-discussion] Any easy way to do this?
ndbecker2 at gmail.com
Wed Mar 9 10:37:23 EST 2011
Angus McMorland wrote:
> On 9 March 2011 09:45, Neal Becker <ndbecker2 at gmail.com> wrote:
>> given: w[i,j,k], y[l, k]
>> d[l,i,j] = norm(w[i,j] - y[l])
>> for each triple (l,i,j), w[i,j]-y[l] is a vector, of which I want to find the
>> norm, and store into d[l,i,j]
> Is something like this what you want to do?
> w = np.random.randint(100, size=(4,5,6))
> y = np.random.randint(100, size=(7,6))
> norm = lambda x, axis: np.sqrt(np.sum(x**2, axis=axis))
> d = norm(w[:,:,None] - y[None,None], -1)
Thanks! Now if I could understand why
w[:,:,None] - y[None,None] is what I needed...
More information about the NumPy-Discussion