L oop и координаты магазина - PullRequest
0 голосов
/ 17 июня 2020

У меня есть копия фрейма данных, который выглядит следующим образом:

heatmap_df = test['coords'].copy()
heatmap_df


0     [(Manhattanville, Manhattan, Manhattan Communi...
1     [(Mainz, Rheinland-Pfalz, 55116, Deutschland, ...
2     [(Ithaca, Ithaca Town, Tompkins County, New Yo...
3     [(Starr Hill, Charlottesville, Virginia, 22903...
4     [(Neuchâtel, District de Neuchâtel, Neuchâtel,...
5     [(Newark, Licking County, Ohio, 43055, United ...
6     [(Mae, Cass County, Minnesota, United States o...
7     [(Columbus, Franklin County, Ohio, 43210, Unit...
8     [(Canaanville, Athens County, Ohio, 45701, Uni...
9     [(Arizona, United States of America, (34.39534...
10    [(Enschede, Overijssel, Nederland, (52.2233632...
11    [(Gent, Oost-Vlaanderen, Vlaanderen, België - ...
12    [(Reno, Washoe County, Nevada, 89557, United S...
13    [(Grenoble, Isère, Auvergne-Rhône-Alpes, Franc...
14    [(Columbus, Franklin County, Ohio, 43210, Unit...

Каждая строка имеет этот формат с некоторыми координатами:

heatmap_df[2]
[Location(Ithaca, Ithaca Town, Tompkins County, New York, 14853, United States of America, (42.44770298533052, -76.48085858627931, 0.0)),
 Location(Chapel Hill, Orange County, North Carolina, 27515, United States of America, (35.916920469999994, -79.05664845999999, 0.0))]

Я хочу получить широту и долготу из каждой строки и сохраните их как отдельные столбцы в фрейме данных heatmap_df. У меня это пока есть, но я не умею писать петли. Мой l oop не работает рекурсивно, он распечатывает только последние координаты.

x = np.arange(start=0, stop=3, step=1)
for i in x:
    point_i = (heatmap_df[i][0].latitude, heatmap_df[i][0].longitude)
    i = i+1
point_i

(42.44770298533052, -76.48085858627931)

Я пытаюсь создать тепловую карту со всеми координатами с помощью Folium. Кто-нибудь может помочь? Спасибо

1 Ответ

0 голосов
/ 17 июня 2020

Python не знает, что вы пытаетесь сделать, это предполагает, что вы хотите сохранить значение кортежа (heatmap_df[i][0].latitude, heatmap_df[i][0].longitude) в переменной point_i для каждой итерации. Итак, что происходит, он каждый раз перезаписывается. Вы хотите объявить список за пределами l oop the append a списки Lat и Long, чтобы создать список List, который легко может быть DF. Кроме того, ваш l oop в примере не рекурсивен, проверьте this на предмет рекурсии

Попробуйте это:

x = np.arange(start=0, stop=3, step=1)
points = []
for i in x:
    points.append([heatmap_df[i][0].latitude, heatmap_df[i][0].longitude])
    i = i+1
print(points)
...