Преобразуйте столбец фрейма данных с помощью Shapely

#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)