为了账号安全,请及时绑定邮箱和手机立即绑定

在 geopandas 中绘制数据

在 geopandas 中绘制数据

明月笑刀无情 2022-06-02 10:26:39
我正在研究 Kaggle 全球恐怖主义数据库 ( https://www.kaggle.com/START-UMD/gtd/download ),并且我正在尝试使用 geopandas 进行可视化。我也在使用国家数据集(http://www.naturalearthdata.com/downloads/110m-culture-vectors/110m-admin-0-countries/)import seaborn as snsimport geopandas as gpdimport matplotlib.pyplot as pltsns.set(style = "ticks", context = "poster")from shapely.geometry import Pointcountries = 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 很陌生,所以我想问一下我错过了什么,以及你将如何绘制整个欧洲地图(countries.plot)以及恐怖袭击事件之上?
查看完整描述

1 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

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

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

如您所见,如果您运行上面的代码片段,错误行是 17658。

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

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

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


查看完整回答
反对 回复 2022-06-02
  • 1 回答
  • 0 关注
  • 121 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信