在geopandas中绘制数据

2024-09-29 19:33:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究Kaggle全球恐怖主义数据库(https://www.kaggle.com/START-UMD/gtd/download),并尝试使用geopandas进行可视化。你知道吗

我还使用国家数据集(http://www.naturalearthdata.com/downloads/110m-cultural-vectors/110m-admin-0-countries/

import seaborn as sns
import geopandas as gpd
import matplotlib.pyplot as plt
sns.set(style = "ticks", context = "poster")
from shapely.geometry import Point


countries = gpd.read_file("C:/Users/petr7/Desktop/ne_110m_admin_0_countries/")
countries = countries[(countries['NAME'] != "Antarctica")]
countries.plot(figsize = (15, 15))

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

之后,我导入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很陌生,所以我想问一下我遗漏了什么,以及你将如何绘制整个欧洲地图(国家/地区.plot)除了恐怖袭击?你知道吗

PICTURE HERE


Tags: 数据importcomdfplotaswww国家
1条回答
网友
1楼 · 发布于 2024-09-29 19:33:10

数据中有错误。DF["longitude"].min()给出-86185896.0。你知道吗

DF.loc[DF["longitude"] == DF["longitude"].min()]

如您所见,如果运行上面的代码段,出现错误的行是17658。你知道吗

好像少了逗号。如果你这样做了

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

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

相关问题 更多 >

    热门问题