python - Convert structured array to regular NumPy array -


the answer obvious think, don't see @ moment.

how can convert record array regular ndarray?

suppose have following simple structured array:

x = np.array([(1.0, 4.0,), (2.0, -1.0)], dtype=[('f0', '<f8'), ('f1', '<f8')]) 

then want convert to:

array([[ 1.,  4.],        [ 2., -1.]]) 

i tried asarray , astype, didn't work.

update (solved: float32 (f4) instead of float64 (f8))

ok, tried solution of robert (x.view(np.float64).reshape(x.shape + (-1,)) ), , simple array works perfectly. array wanted convert gives strange outcome:

data = np.array([ (0.014793682843446732, 0.006681123282760382, 0.0, 0.0, 0.0, 0.0008984912419691682, 0.0, 0.013475529849529266, 0.0, 0.0),        (0.014793682843446732, 0.006681123282760382, 0.0, 0.0, 0.0, 0.0008984912419691682, 0.0, 0.013475529849529266, 0.0, 0.0),        (0.014776384457945824, 0.006656022742390633, 0.0, 0.0, 0.0, 0.0008901208057068288, 0.0, 0.013350814580917358, 0.0, 0.0),        (0.011928378604352474, 0.002819152781739831, 0.0, 0.0, 0.0, 0.0012627150863409042, 0.0, 0.018906937912106514, 0.0, 0.0),        (0.011928378604352474, 0.002819152781739831, 0.0, 0.0, 0.0, 0.001259754877537489, 0.0, 0.01886274479329586, 0.0, 0.0),        (0.011969991959631443, 0.0028706740122288465, 0.0, 0.0, 0.0, 0.0007433745195157826, 0.0, 0.011164642870426178, 0.0, 0.0)],        dtype=[('a_soil', '<f4'), ('b_soil', '<f4'), ('ea_v', '<f4'), ('kcc', '<f4'), ('koc', '<f4'), ('lmax', '<f4'), ('malfarquhar', '<f4'), ('mrn', '<f4'), ('tcc', '<f4'), ('vcmax_3', '<f4')]) 

and then:

data_array = data.view(np.float).reshape(data.shape + (-1,)) 

gives:

in [8]: data_array out[8]:  array([[  2.28080997e-20,   0.00000000e+00,   2.78023241e-27,           6.24133580e-18,   0.00000000e+00],        [  2.28080997e-20,   0.00000000e+00,   2.78023241e-27,           6.24133580e-18,   0.00000000e+00],        [  2.21114197e-20,   0.00000000e+00,   2.55866881e-27,           5.79825816e-18,   0.00000000e+00],        [  2.04776835e-23,   0.00000000e+00,   3.47457730e-26,           9.32782857e-17,   0.00000000e+00],        [  2.04776835e-23,   0.00000000e+00,   3.41189244e-26,           9.20222417e-17,   0.00000000e+00],        [  2.32706550e-23,   0.00000000e+00,   4.76375305e-28,           1.24257748e-18,   0.00000000e+00]]) 

wich array other numbers , shape. did wrong?

[~] |5> x = np.array([(1.0, 4.0,), (2.0, -1.0)], dtype=[('f0', '<f8'), ('f1', '<f8')])  [~] |6> x.view(np.float64).reshape(x.shape + (-1,)) array([[ 1.,  4.],        [ 2., -1.]]) 

Comments

Popular posts from this blog

c# - how to write client side events functions for the combobox items -

exception - Python, pyPdf OCR error: pyPdf.utils.PdfReadError: EOF marker not found -