我正在寻找从数组B的所有元素中减去数组A的所有元素的最快方法.我知道如何做的唯一方法是:
a = np.array([1,2,3])
b = np.array([1,2,3])
new = []
for i in a:
new.append(b - a[i])
理想情况下,我想最终得到一个新的矩阵,它将适用于[0,1,2; -1,0,1; -2,-1,0]
我还想将这种类型的操作扩展到Pandas timedelta系列.例如,我可以这样做:
a=np.array([1,2,3])
b=np.array([1,2,3])
aT = pd.to_timedelta(a,'D')
bT = pd.to_timedelta(b,'D')
new = []
for i in aT:
x.append(bT - i)
并以此结束:
[TimedeltaIndex(['0 days', '1 days', '2 days'], dtype='timedelta64[ns]', freq='D'), TimedeltaIndex(['-1 days', '0 days', '1 days'], dtype='timedelta64[ns]', freq='D'), TimedeltaIndex(['-2 days', '-1 days', '0 days'], dtype='timedelta64[ns]', freq='D')]
但是对于非常大的阵列来说这非常慢.