Вращать float ndarray без изменения значений - PullRequest
0 голосов
/ 27 июня 2018

Я бы хотел повернуть массив numpy, как этот

[[0.    0.... 0.771... 0. 0.162 0. ...]
 [0.987 0.... 0.074    0. 0...  0. ...]
 [...]]

Я использую scipy.ndimage.rotate . Вот мой код:

matrix = read_mat_file(file_name).reshape((shape[0],shape[1]))
matrix_rot = scipy.ndimage.rotate(matrix, angle=60, reshape=False, mode='constant')

Результат:

[[ 0.00000000e+00  0.00000000e+00 ... 0.00000000e+00  0.00000000e+00]
 [ 0.00000000e+00  0.00000000e+00 ... 0.00000000e+00  0.00000000e+00]
 [ 0.00000000e+00  8.48601683e-01 ... 6.49464144e-02  3.33448905e-02]
 [-3.74391429e-02 -3.33013694e-02 ... -4.96632874e-02 -6.57955186e-04]
 [ 2.98892084e-03  1.71639726e-03 ... 9.86108733e-04  5.91683982e-04]
 [...]]

Однако мне действительно нужно что-то вроде этого:

[[0.    0.    ... 0.    ... 0. 0.074 ...  0. ...]
 [0.    0.771 ... 0.162 ... 0. 0.    ...  0. ...]
 [...]]

Что вызывает это? Как я могу избежать этих ненужных сгенерированных «маленьких значений»?

Спасибо!

...