在两个不同的数据帧中查找匹配值,并将辅助值附加到其中一个数据帧

时间:2019-04-03 12:13:42

标签: python python-3.x geopandas

很抱歉,这个冗长的问题,我想不出一种更简洁的表达方式。

我有两个示例数据帧:

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对应的行号不正确。我要在这里更改什么?我敢肯定,我很想念它。

0 个答案:

没有答案