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库安装

2.1 相关依赖包下载

2.2 依赖包安装

2.3 geoplot库安装 

2.4 geopandas库测试


一、简介

      geopandas 是建立在 GEOS GDAL PROJ 等开源地理空间计算相关框架之上的,类似 pandas 语法风格的空间数据分析 Python 库,其目标是尽可能地简化 Python 中的地理空间数据处理,减少对Arcgis 、 PostGIS 等工具的依赖,使得处理地理空间数据变得更加高效简洁,打造纯 Python 式的空间数据处理工作流。

二、geopandas库安装

      我把所有的我下载好的whl文件,全都上传到csdn中,geopandas-cp38-win_amd64版本链接为geopandas-cp38-win_amd64geopandas-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, PyprojRtreeShapely五个依赖包安装成功,其下载地址为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的主要内容,如果未能解决你的问题,请参考以下文章

python包介绍:GeoPandas(初识)

GeoPandas安装保姆级教程

来自 Geopandas Dataframe 的 Python Chloropleth Mapbox

Python之深入解析一行代码计算每个省面积的神器Geopandas

Python geopandas-如何汇总(或进行其他一些统计)多边形内点的值?

从使用 GIS 库(如 geopandas、folium)的 Python 脚本制作 .exe