【问题标题】:Distance calculation in GeopyGeopy中的距离计算
【发布时间】:2016-01-05 20:57:39
【问题描述】:

我在 Centos 6 上使用 Python 2.6.6。
我有一个dataframe,我是从泡菜文件中引入的。然后我想计算2点之间的距离。我试图将每个点的latlong 组合成一个元组,然后使用Geopy.great_circle。但是回溯包括:

/opt/rh/python27/root/usr/lib/python2.7/site-packages/geopy/point.pyc in __new__(cls, latitude, longitude, altitude)
127                     )
128                 else:
--> 129                     return cls.from_sequence(seq)
130 
131         latitude = float(latitude or 0.0)

/opt/rh/python27/root/usr/lib/python2.7/site-packages/geopy/point.pyc in from_sequence(cls, seq)
351         """
352         args = tuple(islice(seq, 4))
--> 353         return cls(*args)
354 
355     @classmethod

TypeError: __new__() takes at most 4 arguments (5 given)

我的输入来自应该具有相同长度的 Pandas DataFrame(如果重要的话?)

import numpy as np
from geopy.distance import vincenty
import geopy
import pandas as pd

distances_frame = pickle.load(open("distances.p", "rb"))
samp = distances_frame.sample(n=50)
samp = samp.dropna()
point1 = tuple(zip(samp['biz_lat'],samp['biz_lon']))
point2 = tuple(zip(samp['id_lat'],samp['id_lon']))
dist= (vincenty(point1,point2).miles)

【问题讨论】:

  • 您应该提供更多信息,打印 point1 和 point2 元组。
  • 'point1' & 'point2' 的类型产生....__...**printing他们的第 3 个值 **... ((41.681092491999998, -87.680967924000001), (41.909741670999999, -87.745637481000003), (41.910972818000005, -87.64078557)在转换之前是 Pandas DataFrame 中的“float64”。**
  • 但是你不想(例如)(41.681092491999998, -87.680967924000001)代表一个点吗?你所拥有的是一个元组中的三个点。
  • 我为此打印了 3 行,例如,print point1[:1], point2[:1] ....给我 ((41.681092491999998, -87.680967924000001),) ((41.934428855871488, -87.716208209746739),)
  • 我在任何地方都找不到任何信息表明您可以将这样的元组放入 vincenty 函数中。你期望什么作为输出?距离列表?

标签: python pandas geopy


【解决方案1】:

EDIT 'EdChum' 在上面的 cmets 中有正确答案..

samp.apply(lambda x: vincenty((x['biz_lat'],x['biz_lon']), (x['id_lat'],   x['id_lon'])).miles, axis=1)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-02
    • 2022-09-29
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多