Python 当计算两点之间的距离时,求级数的真值是不明确的

Python 当计算两点之间的距离时,求级数的真值是不明确的,python,pandas,Python,Pandas,我使用mpu.haversine_distance下可用的Harvesine公式计算两点之间的距离。 如果我在下面给出一对坐标,代码是有效的。但是,如果我通过了5公里的成绩,那我就有一个例外 import mpu data = pd.read_csv(r'C:\Users\DATA.csv') mpu.haversine_distance((40.717006,73.956565),(40.7205817,-73.9623624)) print (mpu.haversine_distance((

我使用mpu.haversine_distance下可用的Harvesine公式计算两点之间的距离。 如果我在下面给出一对坐标,代码是有效的。但是,如果我通过了5公里的成绩,那我就有一个例外

import mpu
data = pd.read_csv(r'C:\Users\DATA.csv')
mpu.haversine_distance((40.717006,73.956565),(40.7205817,-73.9623624))
print (mpu.haversine_distance((data.pickup_lat,data.pickup_lon),(data.dropoff_lat,data.dropoff_lon)))
例外情况:

    ~\AppData\Local\Programs\Python\Python38-32\lib\site-packages\mpu\__init__.py in haversine_distance(origin, destination)
    190     lat1, lon1 = origin
    191     lat2, lon2 = destination
--> 192     if not (-90.0 <= lat1 <= 90):
    193         raise ValueError('lat1={:2.2f}, but must be in [-90,+90]'.format(lat1))
    194     if not (-90.0 <= lat2 <= 90):

~\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\core\generic.py in __nonzero__(self)
   1550 
   1551     def __nonzero__(self):
-> 1552         raise ValueError(
   1553             "The truth value of a {0} is ambiguous. "
   1554             "Use a.empty, a.bool(), a.item(), a.any() or a.all().".format(

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

如何解决此异常或忽略此异常?

将函数应用于单个值与将其应用于数据帧的语法不同。 为了在使用数据帧的情况下获得点之间的距离,您可以使用下面的选项I使用一个小示例替换您的数据,以进行测试:

作为pd进口熊猫 进口微处理器 将numpy作为np导入 data=pd.DataFrame{pickup_lat:[25.761681,39.550053],pickup_lon:[-80.191788,-80.191788], 衰减时间:[25.790653,36.169941],衰减时间:[-80.130043,-115.139832]] 数据[haversine_dist]=data.applylambda x: mpu.haversine\u距离x[拾取角度],x[拾取角度], x[衰减角],x[衰减角],轴=1
这回答了你的问题吗?哈弗森距离是给定经度和纬度的球体上两点之间的距离。我可以问你,你想计算5公里的通过率吗?也许你需要使用lambda和一些reduce逻辑,使用5K对点,我想计算每对点之间的收获线距离,这是什么意思?你有电话吗?因为没有订单行就没有意义。如果是这样,使用lambda并通过每个对点并减少