Преобразование из неструктурированного в массив записи с NumPy - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть массив записей, подобный этому

============ rec_data
<type 'numpy.ndarray'>
[(269.05515748,   24.71801578) (276.96505874,   21.72957922)
 (198.32475308,   19.26596641) ... (158.11078724,  -49.91437661)
 (219.79342843,  -62.06756014) ( 69.92358315, -166.19385119)]
('rec_data ndim: ', 1)
('         size: ', 206705)
('        shape: ', (206705,))
('        dtype: ', dtype([('x', '<f8'), ('y', '<f8')]))

, и я изменяю его на неструктурированный массив с функцией

arr_data = root_numpy.rec2array(rec_data)

, так что теперь он выглядит следующим образом

============ arr_data
<type 'numpy.ndarray'>
[[ 269.05515748   24.71801578]
 [ 276.96505874   21.72957922]
 [ 198.32475308   19.26596641]
 ...
 [ 158.11078724  -49.91437661]
 [ 219.79342843  -62.06756014]
 [  69.92358315 -166.19385119]]
('arr_data ndim: ', 2)
('         size: ', 413410)
('        shape: ', (206705, 2))
('        dtype: ', dtype('float64'))

Как я могу преобразовать 'new_data' обратно в массив записей точно такого же формата, как rec_data?

Извинения, если мои обозначения и / или терминология неверны в некоторых случаях, так как я все еще относительно новичок вNumPy массивов.

Я пробовал

new_rec = np.array(new_data, dtype=rec_data.dtype)

и

new_rec = np.array(new_data, dtype=[('x', np.float64), ('y', np.float64)])

, но ни один из них не делает то, что я хочу. Какие бы самые элегантные решения, не могли бы вы помочь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...