很抱歉,这个冗长的问题,我想不出一种更简洁的表达方式。
我有两个示例数据帧:
import pandas as pd
import geopandas as gpd
points = gpd.GeoDataFrame([['box', Point(1.5, 1.75), 12],
['cone', Point(3.0,2.0)], 15,
['triangle', Point(2.5,1.25), 6]],
columns=['id', 'geometry', 'value'],
geometry='geometry')
df = pd.DataFrame([['a', 12, 65.7],
['b', 6, 44],
['c', 12, 76]],
columns=['name', 'val', 'score'])
我想将points ['value']中的值与df ['val']中的值进行匹配,然后将点的几何形状自动附加到df中的新列。
我将如何最好地做到这一点?
到目前为止,我必须:
geo = []
for x in points['value']:
for y in df['val']:
if x == y:
geo.append(points['geometry'][x]
但是,这显然是行不通的,因为x对应的行号不正确。我要在这里更改什么?我敢肯定,我很想念它。