【发布时间】:2022-01-27 09:03:00
【问题描述】:
我有一些陨石的数据集,这些陨石包含经纬度信息。我几乎拥有来自世界各地的 30,000 个数据点。但我想使用 geopandas 库仅绘制一个大陆的地图,例如“南美洲”。
我正在使用“naturalearth_lowres”的 geopandas 默认地图。从那张世界地图上,我过滤了南美洲。我的数据称为 mod_data_geo 包含几何类型数据 Point(longitute, latitude)。
数据集是这样的:
我的代码:
mod_data_geo = gpd.GeoDataFrame(mod_data, geometry = gpd.points_from_xy(mod_data['long'], mod_data['lat']))
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
countries = world[world['continent'] == "South America"]
axis = countries.plot(color = 'Lightblue', edgecolor = 'black', figsize=(15,15))
mod_data_geo.plot(ax=axis, markersize = 1, color = 'purple' )
如何使用 Geopandas 库或任何其他工具过滤 mod_data_geo 数据框中的陨石数据,以便仅查看在南非大陆上发现的陨石?
提前谢谢你!
【问题讨论】:
-
请不要将数据、代码、错误信息作为图片发布。将文本直接粘贴到 SO 上。
-
欢迎来到 Stack Overflow! T先生的评论引用了堆栈溢出policy against posting images of code, data, or errors。相反,请尝试创建一个minimal reproducible example。您快到了 - 帮助我们编写重现 shapefile 的代码真是太棒了!用几个点构建一个新数据集,例如
mod_data_geo = gpd.GeoDataFrame({'name': ['a', 'b', 'c']}, geometry=gpd.points_from_xy([-10, 60, -120], [-40, 10, 45]))会带你去那里的大部分时间:)
标签: pandas matplotlib data-visualization geospatial geopandas