On Wed, Mar 23, 2016 at 9:37 AM, Ibrahim EL MEREHBI <bobmerh...@gmail.com> wrote: > Thanks Eric. I already checked that. It's not what I want. I think I wasn't > clear about what I wanted. > > I want to split each column but I want to do it for each column and end up > with an array. Here's the result I wish to have: > > array([[[0], [1, 2, 3, 4], [5, 6, 7], [8, 9]], > [[10], [11, 12, 13, 14], [15, 16, 17], [18, 19]], > [[20], [21, 21, 23, 24], [25, 26, 27], [28, 29]]], dtype=object) >
Apply [`np.stack`](http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.stack.html#numpy.stack) to the result. It will merge the arrays the way you want. -Joe > > Sincerely Yours, > Bob > > > > On 23/03/2016 14:17, Eric Moore wrote: > > Try just calling np.array_split on the full 2D array. It splits along a > particular axis, which is selected using the axis argument of > np.array_split. The axis to split along defaults to the first so the two > calls to np.array_split below are exactly equivalent. > > In [16]: a = np.c_[:10,10:20,20:30] > > > In [17]: np.array_split(a, [2,5,8]) > > Out[17]: > > [array([[ 0, 10, 20], > > [ 1, 11, 21]]), array([[ 2, 12, 22], > > [ 3, 13, 23], > > [ 4, 14, 24]]), array([[ 5, 15, 25], > > [ 6, 16, 26], > > [ 7, 17, 27]]), array([[ 8, 18, 28], > > [ 9, 19, 29]])] > > > In [18]: np.array_split(a, [2,5,8], 0) > > Out[18]: > > [array([[ 0, 10, 20], > > [ 1, 11, 21]]), array([[ 2, 12, 22], > > [ 3, 13, 23], > > [ 4, 14, 24]]), array([[ 5, 15, 25], > > [ 6, 16, 26], > > [ 7, 17, 27]]), array([[ 8, 18, 28], > > [ 9, 19, 29]])] > > > Eric > > > > On Wed, Mar 23, 2016 at 9:06 AM, Ibrahim EL MEREHBI <bobmerh...@gmail.com> > wrote: >> >> Hello, >> >> I have a multi-diensional array that I would like to split its columns. >> >> For example consider, >> >> dat = np.array([np.arange(10),np.arange(10,20), np.arange(20,30)]).T >> >> array([[ 0, 10, 20], >> [ 1, 11, 21], >> [ 2, 12, 22], >> [ 3, 13, 23], >> [ 4, 14, 24], >> [ 5, 15, 25], >> [ 6, 16, 26], >> [ 7, 17, 27], >> [ 8, 18, 28], >> [ 9, 19, 29]]) >> >> >> I already can split one column at a time: >> >> np.array_split(dat[:,0], [2,5,8]) >> >> [array([0, 1]), array([2, 3, 4]), array([5, 6, 7]), array([8, 9])] >> >> >> How can I extend this for all columns and (overwrite or) have a new >> multi-dimensional array? >> >> Thank you, >> Bob >> >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion@scipy.org >> https://mail.scipy.org/mailman/listinfo/numpy-discussion >> > > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > https://mail.scipy.org/mailman/listinfo/numpy-discussion > > > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > https://mail.scipy.org/mailman/listinfo/numpy-discussion > _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion