[SciPy-User] What is the best way to take elements from an array along an axis?
Alexander Kalinin
alec.kalinin@gmail....
Mon Mar 12 08:56:47 CDT 2012
Hello,
When we use "fancy" indexing to take elements from an array along an axis,
the error could appear. Look at the code
import numpy as np
a = np.random.rand(10, 3)
b = np.random.rand(10, 3)
c = b[:, 0]
result = a * c
We got an error: "ValueError: shape mismatch: objects cannot be broadcast
to a single shape". We have the shape problem:
>>> a.shape
(10, 3)
>>> c.shape
(10,)
>>
I know two ways to overcome this problem:
1 way:
c = b[:, 0].reshape(-1, 1)
2 way:
c = b[:, 0, np.newaxis]
But what is the best practice for this case? How I should take elements
from an array?
Sincerely,
Alexander
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/scipy-user/attachments/20120312/96a94bd9/attachment.html
More information about the SciPy-User
mailing list