我试图找到一种使用numpy将以下for循环矢量化的方法。这个for循环使我的代码真正拖了。我遇到的问题是,我需要根据值val落在数组行内的范围内的索引查找位于字典d中的值。
009.052.29150
我想我可以使用np.where和np.logical_and在数组中的两个数字之间获取,但是然后我需要索引来从字典中获取值,这就是我可以做到的部分”似乎没有循环。
答案 0 :(得分:1)
由于Divakar的评论,我认为正确的答案是用这种麻木的怪癖代替整个for循环:
np.vectorize(d1.get)((np.searchsorted(row[:-1],vals,side='left'))-1)*row[-1]