Python 在geopandas中绘制数据

Python 在geopandas中绘制数据,python,pandas,geospatial,spatial,geopandas,Python,Pandas,Geospatial,Spatial,Geopandas,我正在研究Kaggle全球恐怖主义数据库(),并尝试使用geopandas进行可视化 我还使用了国家数据集() 使用上面的代码,我可以很容易地画出整个欧洲 之后,我导入kaggle恐怖分子数据集并将其定义为geopandas数据帧 DF = pd.read_csv("C:/Users/petr7/Desktop/gtd/globalterrorismdb_0718dist.csv", encoding='latin1') crs = {"init": "epsg:4326"} geometry

我正在研究Kaggle全球恐怖主义数据库(),并尝试使用geopandas进行可视化

我还使用了国家数据集()

使用上面的代码,我可以很容易地画出整个欧洲

之后,我导入kaggle恐怖分子数据集并将其定义为geopandas数据帧

DF = pd.read_csv("C:/Users/petr7/Desktop/gtd/globalterrorismdb_0718dist.csv", encoding='latin1')
crs = {"init": "epsg:4326"}

geometry = [Point(xy) for xy in zip ( DF["longitude"], DF["latitude"])]
geo_DF = gpd.GeoDataFrame(DF, geometry = geometry)
geo_DF.head()
在这一点之前,一切正常,数据集可以检查

现在,当我尝试绘制它时,它返回无意义的绘图:

geo_DF.plot()
我是geopandas的新手,所以我想问一下我遗漏了什么,以及你将如何绘制整个欧洲的地图(countries.plot)以及恐怖袭击之后的地图


数据中有错误<代码>测向[“经度”].min()给出-86185896.0

DF.loc[DF["longitude"] == DF["longitude"].min()]
如您所见,如果运行上面的代码段,出现错误的行是17658

它似乎缺少逗号。如果你这样做

DF.at[17658, 'longitude'] = -86.185896

在生成几何图形之前,它将起作用。或者,如果您不确定数据到底出了什么问题,可以删除该行。

您能显示数据吗?
geo_DF.head()
显示了什么?代码本身看起来不错。这是什么意思?无意义的绘图?'''''''geo_DF.head()'''''''''显示数据帧的头部,工作刚刚添加了打印屏幕。您必须将crs设置为gdf<代码>geo_DF=gpd.GeoDataFrame(DF,geometry=geometry,crs=crs)。那可能行得通。但这有点奇怪。谢谢,但即使设置了crs,它仍然返回与所附图片相同的绘图-没有变化
DF.at[17658, 'longitude'] = -86.185896