我有两个数组,每个数组都包含数百个不同的值,
list1 = [23.13,89.50,12.99,40.89,...]
list2 = [45.21,2.02,79.89,20.30,....]
我有一个单独的数组,该数组指示要与每个数组进行比较的条目的索引(0表示两个数组中的第一个条目,434表示第435个条目,依此类推)。让我们叫这个数组
indx = [0,12,304,...]
我的目标是从索引为indx的两个列表中获取条目,减去值,然后将它们存储在另一个数组中。我想使用Pandas,因为到目前为止我的大部分代码都使用了Pandas。谢谢。
答案 0 :(得分:1)
如果有
list1 = np.array([23.13, 89.50, 12.99, 40.89])
list2 = np.array([45.21, 2.02 , 79.89, 20.30])
indx = [0, 2, 3]
然后简单
>>> list1[indx] - list2[indx]
array([-22.08, -66.9 , 20.59])
类似地,如果您使用pd.Series
而不是np.array
,
pd.Series(list1)[indx] - pd.Series(list2)[indx]
0 -22.08
2 -66.90
3 20.59
dtype: float64
对于不对称长度,
nindx = indx[indx < min(map(len, [list1, list2]))]
>>> list1[nindx] - list2[nindx]