элементы суммы питона в массиве numpy вдоль угла, а не оси - PullRequest
0 голосов
/ 05 июня 2018

Можно ли суммировать элементы в массиве пустотелых по углу, а не по оси.

Я работаю с двумерными массивами, и суммирование возможно только по axis=0 или axis=1.
То, что я хочу, это суммировать, например, по степени 45 или 60.

Пример:
Матрица: [[1, 2], [3, 4]] и Угол: 45 градусов.
Результат должен выглядеть примерно так: [3, 1+4, 2] = [3, 5, 2] (сумма сверху вниз слева направо).

У кого-нибудь есть идея?

1 Ответ

0 голосов
/ 05 июня 2018

Легко для того, что вы называете "45 градусов": Numpy Trace

import numpy as np
a = np.array([[1,2],[3,4]])
np.trace(a)
5
np.trace(a, offset=1)
2
np.trace(a, offset=-1)
3

и в виде списка:

>>> [np.trace(a,offset=i) for i in range(-np.shape(a)[0]+1, np.shape(a)[1])]
[3, 5, 2]
...