бесконечный цикл при двойном цикле - PullRequest
0 голосов
/ 01 мая 2018

У меня есть два файла 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

ДФ

1 Ответ

0 голосов
/ 01 мая 2018

Если ваши данные в df['outcode'] и df1['Postcode District'] имеют одинаковый формализм, я думаю, вы можете использовать merge для создания двух столбцов (широта и долгота), связанных со столбцом Postcode District из df1, таких как:

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. Смотрите эту ссылку для подробностей о слиянии

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...