您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

有效的方法来获取长向量,最小值的最小值索引

5b51 2022/1/14 8:22:56 python 字数 1542 阅读 606 来源 www.jb51.cc/python

我有一长串经度值(len(Lon)= 420481),另一个是纬度值.我想找到相应的纬度到经度的最小值. 我试过了: SE_Lat = [Lat[x] for x,y in enumerate(Lon) if y == min(Lon)] 但这需要几年的时间才能完成. 有没有人知道更有效的方式? 也许你也有一个建议: 我现在尝试找到最接近的相对纬度到新的经度,这不是原始的经度向量.我试过这个: m

概述

我试过了:

SE_Lat = [Lat[x] for x,y in enumerate(Lon) if y == min(Lon)]

但这需要几年的时间才能完成.

有没有人知道更有效的方式?

也许你也有一个建议:
我现在尝试找到最接近的相对纬度到新的经度,这不是原始的经度向量.我试过这个:

minDiff = [min(abs(x - lon_new) for x in lons)] # not very quick,but works
[(lat,lon) for lat,lon in izip(lats,lons) if abs(lon-lon_new)==minDiff]

最后一行会引发错误,因为有多个匹配项.我现在不知道如何找到只有一个价值,让我们说第一个.任何帮助是极大的赞赏!

import numpy
nplats = numpy.array(lats)
nplons = numpy.array(lons)

# this part is 20x faster than using the built-in python functions
index = numpy.argmin(nplats)

print nplats[index],nplons[index]

这是比min(izip())解决方案(?20x使用我的设置时使用420481随机创建的记录)的速度更快,尽管当然,您需要将数据值存储在numpy中以利用此加速.

总结

以上是编程之家为你收集整理的有效的方法来获取长向量,最小值的最小值索引全部内容,希望文章能够帮你解决有效的方法来获取长向量,最小值的最小值索引所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶