[Numpy-discussion] Multi-dimensional array of splitted array

Ibrahim EL MEREHBI bobmerhebi at gmail.com
Wed Mar 23 09:37:48 EDT 2016


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)


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 
> <bobmerhebi at gmail.com <mailto:bobmerhebi at 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 at scipy.org <mailto:NumPy-Discussion at scipy.org>
>     https://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> https://mail.scipy.org/mailman/listinfo/numpy-discussion


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20160323/b679b96a/attachment.html>


More information about the NumPy-Discussion mailing list