我有2个二维阵列,其中,每一行代表一个时间和每一列表示一个项目。我想找出每个项目的两个数组之间的最大差异。 (我并不特别在意时间最大的不同是在这一点上找到这里。)显示阵列之间最大差值为列表
我想创建的这些最大差异的列表,以便以后我可以找到该名单的最大的15家。
到目前为止,我已经尝试做这个事情来完成这项任务:
import numpy as np
array1 = [[1, 2, 3, 4, 5], [2, 4, 6, 8, 10], [3, 6, 9, 12, 15]]
array2 = [[6, 7, 8, 9, 10], [11, 22, 33, 44, 55], [1, 4, 9, 16, 25]]
num_items = np.shape(array1)[1]
num_timesteps = np.shape(array1)[0]
for counter in np.arange(0, num_items):
for counter2 in np.arange(0, num_timesteps):
diff_list = []
diff = array1[counter2][counter] - array2[counter2][counter]
diff = abs(diff)
diff_list.append(diff)
max_diff = []
max_diff.append(max(diff_list))
print max_diff
然而,这不打印实际列表。相反,它给了我一个项目列表,每个项目有最大的差异。
希望的输出:[2,2,0,4,10]
电流输出:[2] [2] [0] [4] [10]
所以,我的问题是:我怎样才能找到我的两个数组之间的最大差异,并将它们放在一个列表中?
我不知道我理解你想要的输出,你可以为您的数据提供期望的输出? –
使用'abs(np.subtract(array1,array2))'。函数'abs()'用于避免负数 – DavidG