有一个最终数组arr
,其中 3 个数组的长度始终相等
如何创建一个包含数字之间差异的数组?
a = [3, 1, 5, 7, 6, 7, 8, 10, 3, 3]
例如,如果现在
那么最后arr[0]
应该是[-2,4,2,-1,1,1,2,-7,0]
也许numpy
有一些简单的方法可以用一行或其他一些原始方式来完成?可能有很多数据,计算速度非常重要。
import numpy as np
......
a = [3, 1, 5, 7, 6, 7, 8, 10, 3, 3]
b = [11, 15, 17, 86, 11, 67, 31, 56, 3, 11]
c = [12.1, 98.2, 31.6, 24.7, 12.1, 34.1, 1.8, 65.1, 22.9, 31.6]
arr = np.array([a, b, c])
arr_delta = arr ?
也许你需要这个?:
更新
我们得到:
因此,arr_delta[0] 将是:
或者,甚至更短:
但在这种情况下,请注意类型转换。
numpy.diff
考虑需要什么(称为最终差异)。传递一个参数axis
以指定沿哪个轴计算差异: