У меня есть файл npy с формой [13044,] с данными о траектории, где 'координаты' дают координаты данных о траектории.Он имеет 16 dtypes со следующими
dtype([('frame_num', '<i4'), ('mean_x', '<f4'), ('mean_y', '<f4'), ('var_x', '<f4'), ('var_y', '<f4'), ('length', '<f4'), ('scale', '<f4'), ('x_pos', '<f4'), ('y_pos', '<f4'), ('t_pos', '<f4'), ('coords', '<f4', (16, 2)), ('trajectory', '<f4', (15, 2)), ('hog', '<f4', (96,)), ('hof', '<f4', (108,)), ('mbh_x', '<f4', (96,)), ('mbh_y', '<f4', (96,))])
tracks[0]
дает
(15, 186.33582, 92.24783, 2.6624618, 0.22911347, 9.241288, 1., 0.51759946, 0.38436598, 0.04166667, [[182. , 92. ], [182.5449 , 92.09226 ], [183.10237 , 91.61799 ], [183.64798 , 92.135086], [184.26779 , 92.16737 ], [185.04352 , 92.200066], [185.68985 , 92.19117 ], [185.94293 , 92.222855], [186.41994 , 92.30446 ], [187.35497 , 92.39461 ], [187.94893 , 92.39315 ], [188.32193 , 92.47165 ], [189.05319 , 92.40751 ], [189.58992 , 92.37913 ], [189.8503 , 92.6842 ], [190.59416 , 92.30396 ]], [[ 0.05896436, 0.0099837 ],...
Первый элемент является последним frame_number, из 10-х элементов он дает 16 координат траектории от начала 2-й координаты 1-го кадра ипоследний имеет 15-й кадр
[182.5449 , 92.09226 ], 1st frame feature point
[183.10237 , 91.61799 ],trajectory of that feature point at second frame..
[183.64798 , 92.135086], [184.26779 , 92.16737 ], [185.04352 , 92.200066], [185.68985 , 92.19117 ], [185.94293 , 92.222855], [186.41994 , 92.30446 ], [187.35497 , 92.39461 ], [187.94893 , 92.39315 ], [188.32193 , 92.47165 ], [189.05319 , 92.40751 ], [189.58992 , 92.37913 ], [189.8503 , 92.6842 ], [190.59416 , 92.30396] trajectory of feature point at last frame
tracks[500]
(19, 101.504395, 133.30353, 4.431484, 0.41493973, 14.826186, 1.9999999, 0.28195664, 0.55543137, 0.06388889, [[ 93.99999 , 133.99998 ], [ 95.10257 , 133.91016 ], [ 96.17397 , 133.8509 ], [ 97.26843 , 133.84372 ], [ 98.360085, 133.75041 ], [ 99.31606 , 133.46017 ], [100.22412 , 133.29907 ], [101.10831 , 133.0922 ], [102.029564, 132.93976 ], [102.92373 , 132.95956 ], [103.90272 , 132.80684 ], [104.84618 , 132.84692 ], [105.69725 , 132.90834 ], [106.740944, 133.00175 ], [107.67655 , 133.08873 ], [108.69984 , 133.09813 ]], [[ 0.07436688,....
Первый элемент - последний кадр - 19 из 10-х элементов, он дает 16 координат траектории
[95.10257 , 133.91016 ],5th frame of a feature point
[ 96.17397 , 133.8509 ], [ 97.26843 , 133.84372 ], [ 98.360085, 133.75041 ], [ 99.31606 , 133.46017 ], [100.22412 , 133.29907 ], [101.10831 , 133.0922 ], [102.029564, 132.93976 ], [102.92373 , 132.95956 ], [103.90272 , 132.80684 ], [104.84618 , 132.84692 ], [105.69725 , 132.90834 ], [106.740944, 133.00175 ], [107.67655 , 133.08873 ], -18 th frmae
[108.69984 , 133.09813 ]-19 th frame of that trajectory point
Мне нужно сохранить npy сейчас как: Номер кадракоординаты, ........, последний номер кадра координаты
пример
[5, 95.10257 , 133.91016 ][ 6, 96.17397 , 133.8509 ], [7, 97.26843 , 133.84372 ], [ 8, 98.360085, 133.75041 ], [9, 99.31606 , 133.46017 ], [10, 100.22412 , 133.29907 ], [11, 101.10831 , 133.0922 ], [12, 102.029564, 132.93976 ], [13, 102.92373 , 132.95956 ], [14, 103.90272 , 132.80684 ], [15, 104.84618 , 132.84692 ], [16, 105.69725 , 132.90834 ], [17, 106.740944, 133.00175 ], [18, 107.67655 , 133.08873 ],
[19,108.69984 , 133.09813 ]
Таким образом, я хочу сохранить в файл npy.Просто я хочу сделать новый файл npy с кадром _num, координаты и удаляет другие данные
EDITED
f=np.zeros((len(tracks),15,3),float)
n_tracks,n_pts,_=tracks['coords'].shape
for i in range(len(tracks)):
get_frame_num=tracks['frame_num'][i]
for j in range((get_frame_num-14),get_frame_num+1):
print(j)
f[:,:,0]=float(j)
f[:,:,1:]=tracks['coords'][:n_tracks,:n_pts-1]
В массиве [0], первые столбцы 0, 0, 0.После этого результата я хочу изменить на 1,2,3 В массиве [1], первый столбец 1,1,1.После этого результата я хочу изменить 2,3,4 на координаты траектории. Использование вложенного цикла for приводит к сбою ipython