双循环时无限循环



>我有两个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 发生合并的列。有关合并的微尘详细信息,请参阅此链接

最新更新