>我有两个csv文件,df1只有邮政编码,df有邮政编码及其相应的经度和纬度值。
import numpy as np
from math import radians, sqrt, sin, cos, atan2
import pandas as pd
df = pd.read_csv("C:/Users///UKPostcodes.csv")
df1 = pd.read_csv("C:/Users///postcode.csv")
X = df['outcode'].values
lat = df['latitude'].values
lon = df['longitude'].values
find = df1['Postcode District'].values
longitude = []
for i in range(0, len(find)):
for j in range(0, len(X)):
if find[i] == X[j]:
print(find[i])
#longitude.append(float(lon[j]));
我正在尝试遍历两个文件并找到 df1 的所有经度和纬度,目前它运行无限循环,知道我如何只对 df1 文件中的所有值执行此操作并在达到该限制后终止?
编辑:文件示例:
DF1
东风
如果您在 df['outcode']
和 df1['Postcode District']
中的数据具有相同的形式,我认为您可以使用 merge
创建与df1
的列Postcode District
相关联的两列(纬度和经度(,例如:
df_output = df1.merge(df, how = 'left', left_on= 'Postcode District', right_on= 'outcode')
df1
是左 DF,df
是右 DF,how = 'left'
意味着您不df1
所有密钥。 left_on= 'Postcode District'
和 right_on= 'outcode'
定义每个 DF 发生合并的列。有关合并的微尘详细信息,请参阅此链接