如何根据地址和经度和纬度合并数据框?蟒蛇

时间:2018-02-10 18:38:39

标签: python pandas merge concatenation

我有一个像这样的csv davaset我在long lat列中进行了地理编码和添加,它有这些列My Dataset

现在我在网上下载了一个更新的版本,它有时会添加这样的新房子(我突出了错误的房子,它应该是上面的那个抱歉:)   ) Downloaded one

我希望将两个数据集合并在一起并保留我的经度和纬度信息,并且只保留我的列。我似乎无法弄清楚如何进行合并,所以我手动编写了这个python,但它太慢了

 for index, row in new_ppr.iterrows():
    address= row['Address']
    houses_in_district = MASTER_ppr.loc[MASTER_ppr['Address'] == address]
    if len(houses_in_district >= 1):
        x = houses_in_district.tail(1).index.item()
        new_ppr.loc[index, 'Longitude'] = houses_in_district.loc[x,'Longitude']
        new_ppr.loc[index, 'Latitude'] = houses_in_district.loc[x,'Latitude']
    else:
        new_ppr.loc[index, 'Longitude'] = ""
        new_ppr.loc[index, 'Latitude'] = ""

1 个答案:

答案 0 :(得分:0)

如果两个表中都有主要索引,我认为最简单的方法是使用pandas,类似于:

import pandas as pd
a = pd.read_csv('filename1.csv')
b = pd.read_csv('filename2.csv')

c = a.merge(b, how = 'left', left_on = 'INDEX IN A', right_on = 'INDEX IN B')
     

您需要根据要执行合并的方法计算每个表中的索引。更多详细信息和示例可在pandas.DataFrame.merge

上找到
相关问题