使用 Shapely 转换数据框的列
Convert a Column of a Dataframe using Shapely
我正在尝试使用 shapely 将 DataFrame 的整列转换为几何列。
将文件读入 pandas 后,我使用下一个代码转换列的一个值:
from shapely.wkb import loads
geometry=loads('0101000020E61000006A6AD95A5FCC58C0A6272CF1807A3340', hex=True)
geometry.wkt
输出为'POINT (-99.19332 19.47853)'
但我需要转换所有列并知道如何转换
使用 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)
我正在尝试使用 shapely 将 DataFrame 的整列转换为几何列。
将文件读入 pandas 后,我使用下一个代码转换列的一个值:
from shapely.wkb import loads
geometry=loads('0101000020E61000006A6AD95A5FCC58C0A6272CF1807A3340', hex=True)
geometry.wkt
输出为'POINT (-99.19332 19.47853)'
但我需要转换所有列并知道如何转换
使用 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)