【问题标题】:Matching Datasets based on proximity to a variable基于与变量的接近度匹配数据集
【发布时间】:2017-09-04 21:58:28
【问题描述】:

我有两个 csv 数据集,我正在尝试将它们合并在一起。第一个数据集包含非传统的城市名称(即:曼哈顿或皇后区,应该是纽约)及其纬度/经度。第二个数据集包含常规城市名称及其纬度/经度数据。我需要将这两个数据集合并在一起,以便数据集 1 中的非常规城市名称与基于最接近的纬度/经度接近度的传统城市名称(数据集 2)相匹配。

有人可以指导我如何编程这个问题吗?

谢谢

数据集 1 样本:

city state latitude longitude
Manhattan NY 42.436503 -71.608599
Long Island NY 54.266667 -6.916667
East Los Angeles CA 56.2 10.683333

数据集 2 示例:

city state latitude longitude
New York NY 40.75 -74
Los Angeles CA 33.97 -118.24

结果数据集 1:

city state latitude longitude new_city
Manhattan NY 42.436503 -71.608599 New York
Long Island NY 54.266667 -6.916667 New York
East Los Angeles CA 56.2 10.683333 Los Angeles

【问题讨论】:

    标签: python jupyter-notebook


    【解决方案1】:

    非常简单当你有他们的坐标时计算两点之间的距离 (see here)。 你也可以使用GeoPy

    因此,如果您的数据集不是太大,您可以只计算第一个和第二个数据框中城市之间的距离,并保持两个城市之间的距离最短。

    您已经可以按状态过滤以避免为每个元组计算这些距离。

    【讨论】:

      猜你喜欢
      • 2015-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-01
      • 1970-01-01
      • 2022-06-17
      • 2018-11-05
      • 2013-01-02
      相关资源
      最近更新 更多