#python #pandas #shapely
Вопрос:
Я пытаюсь преобразовать весь столбец фрейма данных в столбец геометрии с помощью shapely.
После чтения файла в pandas я преобразую одно значение столбца, используя следующий код:
from shapely.wkb import loads
geometry=loads('0101000020E61000006A6AD95A5FCC58C0A6272CF1807A3340', hex=True)
geometry.wkt
и результат таков 'POINT (-99.19332 19.47853)'
но мне нужно преобразовать все столбцы и узнать, как
Ответ №1:
Используйте apply
с правильным параметром:
Входные данные:
>>> df
data
0 0101000000715AF0A2AF064140D6E59480988F5DC0
1 0101000000B610E4A0845D44401FF64201DB7B52C0
2 0101000000BE67244223E04740FFE7305F5E2F5EC0
df['geometry'] = df['data'].apply(loads, hex=True)
Выходной результат:
>>> df
data geometry
0 0101000000715AF0A2AF064140D6E59480988F5DC0 POINT (34.052235 -118.243683)
1 0101000000B610E4A0845D44401FF64201DB7B52C0 POINT (40.73061 -73.935242)
2 0101000000BE67244223E04740FFE7305F5E2F5EC0 POINT (47.751076 -120.740135)