I am trying to "collapse" two dimensions of a 3-D array, using reshape: (Pdb) dims = np.shape(trace) (Pdb) dims Out[2]: (1000, 4, 3) (Pdb) newdims = (dims[0], sum(dims[1:])) (Pdb) newdims Out[2]: (1000, 7) However, reshape seems to think I am missing something: (Pdb) np.reshape(trace, newdims) *** ValueError: total size of new array must be unchanged Clearly the total size of the new array *is* unchanged.
On 2009-09-28 15:39 , Chris wrote:
I am trying to "collapse" two dimensions of a 3-D array, using reshape:
(Pdb) dims = np.shape(trace) (Pdb) dims Out[2]: (1000, 4, 3) (Pdb) newdims = (dims[0], sum(dims[1:])) (Pdb) newdims Out[2]: (1000, 7)
However, reshape seems to think I am missing something:
(Pdb) np.reshape(trace, newdims) *** ValueError: total size of new array must be unchanged
Clearly the total size of the new array *is* unchanged.
I think you meant prod(dims[1:]). A 4 x 3 sub-array has 12 elements, not 7. (Whence the curse of dimensionality...) -Neil
participants (2)
-
Chris
-
Neil Martinsen-Burrell