我有二维数组
[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)
发布于 2021-07-20 21:19:18
您可以尝试此解决方案:
timeline[1:,-1] = np.diff(timeline[:,-1], axis=0)
https://stackoverflow.com/questions/68455327
复制相似问题