Python中的GeoPandas和GeoDataFrame
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中的GeoPandas和GeoDataFrame相关的知识,希望对你有一定的参考价值。
参考技术A GeoPandas是对pandas的扩展,用于处理地理空间数据
GeoDataFrame是其中一个数据类型,和ArcGIS中的属性表很像,有几何形状字段(红框)和常规的属性字段(绿框),就名称不一样而已。
前提:import geopandas as gpd
读入之后,df为GeoDataFrame格式,结构如下:
结果:
geometry字段中记录的是几何形状,类型是GeoSeries,有很多函数进行相应操作
之后的df完全可以套用dataframe的操作方法
假如现在的df为:
iloc 输入的是数字类型位置索引
loc 输入的是文本类型的位置索引名
at 和loc的用法差不多
it 就是属性表中的一行。math为其中的一个字段名
输出:
df[1][\'math\']=100 这种只要是 用两个括号进行索引修改的均无效 ,这种索引方式可以理解为先拿出了一行(是个视图),修改实际上并未对原数据修改。
此外,尝试利用上述iloc遍历修改也不行
会出现错误:
正确做法是在原df上取值,一个括号直接定位。
通过iloc遍历修改可写成如下方式:
关键语句:gp.name
正常人的思维都会认为sort_values排序之后,按1,2,3……去索引数据的时候就是一个从排好序的数据,但是实际上如下图所示,sort_values后数据表确实按数学成绩排序了,但是索引并未改变,这是按照按1,2,3……去索引其实还是原来的顺序,看起来好像并未排序,所以排序后最好用reset_index重新建立索引。
以下将string类型的Neighbors改为list类型
以下将list类型的Neighbors改为string类型
GeoPandas安装保姆级教程
目录
一、简介
geopandas 是建立在 GEOS 、 GDAL 、 PROJ 等开源地理空间计算相关框架之上的,类似 pandas 语法风格的空间数据分析 Python 库,其目标是尽可能地简化 Python 中的地理空间数据处理,减少对Arcgis 、 PostGIS 等工具的依赖,使得处理地理空间数据变得更加高效简洁,打造纯 Python 式的空间数据处理工作流。二、geopandas库安装
我把所有的我下载好的whl文件,全都上传到csdn中,geopandas-cp38-win_amd64版本链接为geopandas-cp38-win_amd64,geopandas-cp37-win_amd64版本链接为geopandas-cp37-win_amd64 ,需要自取。后面再详细介绍,这些包的下载过程,如下。
2.1 相关依赖包下载
geopandas 的安装和使用需要若干依赖包,需要全部都安装成功之后,才能安装geopandas包,官方推荐使用下面的方式,但是通常都不能安装成功,因此需要手动安装相关依赖包。
conda install --channel conda-forge geopandas
上述方法不能成功的原因多是由于国外库源下载较慢的原因,有教程通过更换为国内镜像可以成功安装geopandas(本文未测试!!!),方法如下:
!pip install -i https://pypi.tuna.tsinghua.edu.cn/simple geopandas
geopandas包在安装之前,需要手动依次将GDAL , Fiona, Pyproj,Rtree,Shapely五个依赖包安装成功,其下载地址为https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud 。
比如:我的电脑是windows64位系统(计算机->属性),Python版本为3.8(win+R->Python)
所以在选择依赖包版本的时候,全部选择cp38‑cp38‑win_amd64.whl版本,同理,如果你的Python是3.7的版本,则要下载cp37版。以GDAL为例:
最终我下载的所有版本如下,有一点需要注意,网上很多说要注意GDAL与Fiona的版本匹配问题,当时我也是按照其他教程安装了好几个版本,都出现Fiona安装失败的情况,最后的解决方案就是全部都下载最新版本,实现安装成功。
2.2 依赖包安装
包的安装顺序依次为GDAL->Fiona->pyproj->Rtree->Shapely->geopandas。 安装方法为:在whl文件所在文件夹里面,同时shift+鼠标右键,即会出现在此处打开命令窗口(w),然后利用pip安装即可,以GDAL为例:
pip install GDAL-3.4.2-cp38-cp38-win_amd64.whl
当出现,success即安装成功。
2.3 geoplot库安装
geoplot 是一个地理空间数据可视化库,专为数据科学家和地理空间分析人员设计, 基于geopandas ,提供了众多高度封装的绘图API。同样有教程推荐使用 下面方式安装,但本人没有尝试。conda install --channel conda-forge geoplot
本文使用的下载方式和2.1一样,先去网址下载相关依赖包,包含cartopy和rasterio这两个库,按照2.2的方式安装之后,利用pip install geoplot即可安装geoplot库。
2.4 geopandas库测试
库安装成功后,进行最初的使用测试,以pycharm为例,代码如下:
import geopandas as gpd
import matplotlib.pyplot as plt
if __name__ == '__main__':
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
world.plot()
plt.show()
运行结果:
至此,安装成功!
以上是关于Python中的GeoPandas和GeoDataFrame的主要内容,如果未能解决你的问题,请参考以下文章
来自 Geopandas Dataframe 的 Python Chloropleth Mapbox
Python之深入解析一行代码计算每个省面积的神器Geopandas