Превратите столбец геометрии в столбцы широты / длины в геоданных - PullRequest
0 голосов
/ 30 марта 2020

У меня есть Geodataframe со столбцом 'geometry', в котором у меня есть точечные геометрии, например, POINT (-0.01334 51.52883). Мне нужно извлечь широту и долготу и добавить его в качестве новых столбцов в кадре данных.

Я пытался использовать

df['lon'] = df['geometry'].x
df['lat'] = df['geometry'].y

, но он дает мне SettingWithCopyWarning, и я не уверен, почему. Кто-нибудь может помочь, пожалуйста? Спасибо!

Ответы [ 2 ]

0 голосов
/ 15 апреля 2020

Проблема была не в размещенном коде - это было связано с тем, чтобы несколько раз нарезать исходный кадр данных перед запуском этого кода, согласно комментарию martinfleis. Я избегал SettingWithCopyWarning, удаляя ненужные строки из исходного кадра данных, а не обрезая их.

0 голосов
/ 30 марта 2020

Учитывая, что значения являются строковыми в формате, описанном (lat lon), вы можете заменить круглые скобки для лучшего просмотра.

  1. df["geo"] = df["geo"].str.replace(r"[\(\)", "") enter image description here

После этого вы можете разделить пробел в середине и расширить столбцы. ул.сплит до c

df = df["geo"].str.split(" ", expand=True)

str.split

Вы получите два столбца 0 и 1, просто нужно переименовать их после этого.

...