通过数组加减数组并存储在字典中

Plus or minus an array by an array and store in a dictionary

我对这些数据进行了大量的预处理和数学计算,得到了两个大小相同的 3xN numpy 数组。 A 和 B.

A = 已分类为标签以预测 B 的整数。 B = 时间序列数据。

我也有 C 就是 B[1:]

A 和 B 在各自的时间步长上是相等的,我想不出更好的方法来列出 B 的下一个时间步长,所以我有 A[0:-1], B[ 0:-1] 和 C[1:])

我知道 A + 或 - B 在 C 中总是 == 到至少 1 个整数。

示例:

如果 A = [2,3,4] 且 B = [5,2,1] 我知道 C 中至少有 1 个是 7,8,1,3 或它们的任何其他组合数字 + 或 - 彼此。

如何创建一个简单的函数来执行此操作并检查它是否 == 到 C,然后将其作为键存储在字典中?目标是在完成后创建一个神经网络来评估新数据。

举个例子,如果我明白你在找什么:

a = [2,3,4]
b = [5,2,1]
c = set(b[1:])

sums = set([ aa + bb for aa in a for bb in b ])
subs1 = [ (aa - bb) for aa in a for bb in b if (aa - bb) > 0]
subs2 = [ bb - aa for bb in b for aa in a if (bb - aa) > 0]
subs = set(subs1 + subs2)

print(sums)
print(subs)
print(c)

print(len(sums & c)) #=> 0 c does not contains any of sums
print(len(subs & c)) #=> 2 c contains two of subs