I've been given a multidimensional numpy array, x that looks like this:
array([ array([  398.24475098,  -196.1497345 ,  -110.79341125, ..., -1937.22399902,
       -6158.89355469,  1742.84399414], dtype=float32),
       array([   32.27750397,  -171.73371887,  -342.6328125 , ..., -4727.4296875 ,
       -4727.4296875 , -2545.10375977], dtype=float32),
       array([  785.83660889,  -234.88890076,   140.49914551, ..., -7982.19482422,
       -2127.640625  , -1434.77160645], dtype=float32),
       ...,
       array([   181.93313599,   -146.41413879,   -416.02978516, ...,
        -4517.796875  ,  10491.84570312,  -6604.39550781], dtype=float32),
       array([ -1.37602341e+02,   1.71733719e+02,   7.13068867e+00, ...,
         8.60104688e+03,   1.39115127e+04,   3.31622314e+03], dtype=float32),
       array([   453.17272949,    152.49285889,    260.41452026, ...,
        19061.60742188,  11232.8046875 ,   7312.13964844], dtype=float32)], dtype=object)
I'm trying to access each column (specifically I'm trying to take the standard deviation of each column). I found this answer, and I tried,
>>> x[:,0]
But this returned an error:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: too many indices for array
Is it possible to convert this structured array into a simple 2D numpy array to access the columns? Or is there a good way to access these columns directly?
Thanks!
Edit
Some more information on this array:
>>> x.shape
(8685,)
>>> x[0].shape  # Same for x[1], x[2], ...
(3524,)
If it's any help, I used the tree2array function in the root_numpy package to produce this array.
 
     
     
    