## Expanding array dimension

This is the place for queries that don't fit in any of the other categories.

### Expanding array dimension

I am looking for a built-in (preferrably numpy or compatible to numpy arrays) function that can expand array dimensions by transforming array elements to arrays. I'll write in code how I would manually transform an array x from dim(x) = (3,2) to dim(x) = (3,2,4) to better explain:

Code: Select all
`In [1]: import numpy as npIn [2]: x = np.array([[1.,2.],[3.,4.],[5.,6.]])In [3]: xOut[3]: array([[ 1.,  2.],       [ 3.,  4.],       [ 5.,  6.]])In [4]: x = np.transpose(np.array([np.transpose(x)]*4))In [5]: xOut[5]: array([[[ 1.,  1.,  1.,  1.],        [ 2.,  2.,  2.,  2.]],       [[ 3.,  3.,  3.,  3.],        [ 4.,  4.,  4.,  4.]],       [[ 5.,  5.,  5.,  5.],        [ 6.,  6.,  6.,  6.]]])`

Thankful for help,

Andreas
Last edited by Mekire on Tue Nov 19, 2013 11:19 am, edited 1 time in total.
Reason: First post lock.
Andreas J

Posts: 1
Joined: Tue Nov 19, 2013 10:58 am

### Re: Expanding array dimension

Not sure about anything pre-built, but this seems to work:

Code: Select all
`import numpy as npx = np.array([[1.,2.],[3.,4.],[5.,6.]])dims = x.shapeb = np.ones( (dims[0],dims[1],4) )for c in xrange(dims[1]):    b[:,c] = b[:,c]*x[:,c:c+1]`
Python: 2.7 via Anaconda
Numpy: 1.7
Pandas: 0.11
OS: Windows 7
IDE: Spyder/IPython

tnknepp

Posts: 153
Joined: Mon Mar 11, 2013 7:41 pm

### Who is online

Users browsing this forum: Bing [Bot], Yahoo [Bot] and 6 guests