Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用字段中的nereast值将pandas数据帧与geopandas连接_Pandas_Merge_Geopandas - Fatal编程技术网

如何使用字段中的nereast值将pandas数据帧与geopandas连接

如何使用字段中的nereast值将pandas数据帧与geopandas连接,pandas,merge,geopandas,Pandas,Merge,Geopandas,我有一个geopdans数据框,它有一个名为“values”的列。我有一个pandas数据框架,它也有一个名为“values”的列。两个数据帧中的列值不完全相同;我想根据geopnadas数据帧的最近值加入它们 这是我打算实现的一个最小示例,我有一个geopadans数据框,其中有一列“值”: 我还有一个pandas数据框,其中包含值列,例如: values color 0 300.00 green 1 500.00 blue 最后,我希望有

我有一个geopdans数据框,它有一个名为“values”的列。我有一个pandas数据框架,它也有一个名为“values”的列。两个数据帧中的列值不完全相同;我想根据geopnadas数据帧的最近值加入它们

这是我打算实现的一个最小示例,我有一个geopadans数据框,其中有一列“值”:

我还有一个pandas数据框,其中包含值列,例如:

     values  color  
0    300.00  green     
1    500.00   blue    
最后,我希望有一个geopandas数据框,将颜色列链接到geopandas数据框中最近的值:

   S_1_OBJECT    values  OBJECTID  Shape_Leng  Shape_Area  color\
0      3541.0  325.5626         1    0.020833    0.000017  green 
1      3544.0  314.5491         2    0.029167    0.000026  green
2      3545.0  551.1674         3    0.035000    0.000034   blue

                                            geometry  
0  POLYGON ((-115.6041666669581 50.96666666593393...  
1  (POLYGON ((-115.6 50.96666666593393, -115.6 50...  
2  (POLYGON ((-115.6 50.96249999897583, -115.6 50... 
我已经检查了熊猫合并,但似乎没有这样的功能。我也尝试过:

shp\u out=pandas.merge\u asof(geopandasdataframe,pandasdataframe,on='values',direction='nearest')


但是后来我无法使用shp_out.to_json()将shp_out转换为json字符串。问题来自
pandas.merge_asof
geopadnas.GeoDataFrame
上完成。它可以工作,但在生成的GeoDataFrame上没有指定几何体,该几何体随后会断开
。\u json()
。您只需在
merge\u asof
之后指定几何体列即可修复它

shp_out = shp_out.set_geometry('geometry')
然后您应该能够通过
shp\u out.to\u json()
获取geojson

编辑:它也会丢失CRS,所以我建议将其设置回原来的状态

shp_out.crs = geopandasdataframe.crs

你能给我们看一下数据并试着提供一个简单的例子吗?增加了一个我想实现的简单例子。
shp_out.crs = geopandasdataframe.crs