如何仅通过列python减去数组?

我有二维数组

 [1, 5],
 [2, 7],
 [3, 9] 

我想结果数组

 [1, 5],
 [2, 2],
 [3, 2] 

这是通过仅减去列并保留行作为其实现的。(7-5) (9-7)

我在下面尝试了这个,但我无法获得正确的输出

import numpy as np

timeline = np.array([[1,5],
                     [2,7],
                     [3,9]]) 

def non_adjacent_diff(row):
    not_zero_index = np.where(row != 0)
    diff = row[not_zero_index][1:] - row[not_zero_index][:-1]
    np.put(row, not_zero_index[0][1:], diff)
    return row

np.apply_along_axis(non_adjacent_diff, 1, timeline)

print(timeline)

回答

你可以试试这个解决方案:

timeline[1:,-1] = np.diff(timeline[:,-1], axis=0)


以上是如何仅通过列python减去数组?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>