Как найти разницу между всеми целыми числами в массиве - PullRequest
0 голосов
/ 20 февраля 2020

Может кто-нибудь направить меня в правильном направлении, чтобы выполнить sh следующее. Я был бы очень признателен.

Учитывая следующий столбец.

111
108
106
107
109
130

Я хотел бы взять первое число (111) и найти и распечатать разницу между остальными значениями в порядке их появления.

Затем я хотел бы повторить процесс, начиная со второй позиции (108), пока все строки не пройдут до конца.

И, наконец, я хотел бы показать наибольшую разницу и строку # из результатов.

Ожидаемый результат - что-то вроде этого

Start bigest-difference row/positioning
111 19 5
108 22 5 
106 24 5
107 23 5
109 24 5
130 24 2

1 Ответ

0 голосов
/ 20 февраля 2020

Вы можете использовать трансляцию:

import numpy as np

data = np.array([111, 108, 106, 107, 109, 130])
data - data[:, None]
# array([[  0,  -3,  -5,  -4,  -2,  19],
#        [  3,   0,  -2,  -1,   1,  22],
#        [  5,   2,   0,   1,   3,  24],
#        [  4,   1,  -1,   0,   2,  23],
#        [  2,  -1,  -3,  -2,   0,  21],
#        [-19, -22, -24, -23, -21,   0]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...