Python 将csv合并到shp:使用DataFrame而不是GeoDataFrame返回

Python 将csv合并到shp:使用DataFrame而不是GeoDataFrame返回,python,dataframe,csv,merge,shapefile,Python,Dataframe,Csv,Merge,Shapefile,我想将表连接到shp,并使用Python绘制地图。但是,合并的数据帧不再是地理数据帧。。。为什么?任何人都可以帮忙~~~ #许多geopython库的重要库 !apt安装gdal-bin-python-gdal-python3-gdal #安装rtree-地质勘探要求 !apt安装python3 rtree #安装Geopandas !pip安装git+git://github.com/geopandas/geopandas.git #按要求安装笛卡尔-地质潘达斯 !笛卡尔 #安装用于地理数据可

我想将表连接到shp,并使用Python绘制地图。但是,合并的数据帧不再是地理数据帧。。。为什么?任何人都可以帮忙~~~

#许多geopython库的重要库
!apt安装gdal-bin-python-gdal-python3-gdal
#安装rtree-地质勘探要求
!apt安装python3 rtree
#安装Geopandas
!pip安装git+git://github.com/geopandas/geopandas.git
#按要求安装笛卡尔-地质潘达斯
!笛卡尔
#安装用于地理数据可视化的Folium
!小叶
#安装plotlyExpress
!pip安装plotly\u express
#导入包
作为pd进口熊猫
将numpy作为np导入
作为gpd导入geopandas
从shapely.geometry导入点
导入matplotlib
将matplotlib.pyplot作为plt导入
进口叶
以px形式导入plotly_express
文件1='GEO.shp'
GEO=gpd.read\u文件(文件1)
file2='data.csv'
DATA=gpd.read\u文件(文件2)
Join=GEO.merge(数据,左上为'Code',右上为'M\u Code')
类型(连接)
##返回-->pandas.core.frame.DataFrame

这应该可以做到,使用熊猫来读取csv,而不是geopandas,否则会得到一个充满空值的几何列

import pandas as pd
import geopandas as gpd

file1 = 'GEO.shp'
GEO = gpd.read_file(file1)

file2 = 'data.csv'
DATA = pd.read_csv(file2) # <-- this should use pandas!!!

Join = GEO.merge(DATA, left_on="Code", right_on="M_code")
type(Join)
geopandas.geodataframe.GeoDataFrame
# OR
Join = pd.merge(GEO, DATA, left_on="Code", right_on="M_code")
将熊猫作为pd导入
作为gpd导入geopandas
文件1='GEO.shp'
GEO=gpd.read\u文件(文件1)
file2='data.csv'

DATA=pd.read_csv(file2)#除非csv文件具有
几何体
列,否则无法将其连接到GeoDataFrame。