十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
GEO就是一个函数。1geo的g是函数的原因是因为GEO就是一个函数。计算机的函数是一个固定的一个程序段,或称其为一个子程序,可以实现固定运算功能的同时还带有一个入口和一个出口,而geo函数用于生成地理位置(GEOGRAPHY)数据类型的值或对其执行操作。
成都一家集口碑和实力的网站建设服务商,拥有专业的企业建站团队和靠谱的建站技术,十余年企业及个人网站建设经验 ,为成都数千家客户提供网页设计制作,网站开发,企业网站制作建设等服务,包括成都营销型网站建设,品牌网站建设,同时也为不同行业的客户提供成都网站设计、成都网站制作的服务,包括成都电商型网站制作建设,装修行业网站制作建设,传统机械行业网站建设,传统农业行业网站制作建设。在成都做网站,选网站制作建设服务商就选创新互联建站。
不是所有的地址都能得得一个有效的地理编码的,需要检查status是否为0。
参考以下代码:
# coding=utf-8
from urllib.request import urlopen, quote
from json import loads as loadjson
ak = '--------------------------------'
def _url(service,**kv):
qstr = ''
url = '' \
+ service + '/v2/' \
+ '?output=json' \
+ 'ak=' + ak
for k, v in kv.items():
url += '' + k + '=' + quote(v)
return url
def baidumapapi(service,**kv):
data = urlopen(_url(service,**kv)).read().decode('utf-8')
return loadjson(data)
geo = baidumapapi('geocoder',address='gd')
if geo['status'] == 0:
try:
print(geo['result']['location']['lng'])
except (Exception,):
print(geo)
else:
print('{}({})'.format(geo['msg'] if 'msg' in geo.keys() else geo['message'],
geo['status']))
在上一课中,我们已经介绍过使用 Plotly 实现地理信息可视化的方法。但是,那个工具对我们不是很友好,特别是由于某种不可抗力的存在,可能根本无法调试。
不过,pyecharts 的确在地理信息可视化上做得不错——如果仅做国内地图,特别推荐使用,还是通过示例来说明吧。
首先,要安装地图文件,安装方法如下:
不仅可以安装上述官方提供的地图文件,还能够自己制作个性化的地图扩展, 具体请点击这里参阅 。
有了上述基础,就可以进行地理信息可视化了(以下示例的数据源, 请点击这里查看 )。
实现上述效果的类是 Geo,默认情况下绘制散点图,此外可以实现 type='effectScatter'(闪耀的散点图)和 type='heatmap'(热图)。
此图也是动态交互的,通过左侧图例选择不同数值范围,相应地会显示该范围内的数据。
如果按照前面所述安装了各种地图文件,还可以在 geo.add 方法中规定地理范围。
在 pyecharts 地图中认可的城市名称都如同上述结果显示的那样,例如“阜新”,不要写成“阜新市”。
下面就绘制江苏省的空气质量分布图。
输出结果:
这里的 geo.add 参数与前面的不同,导致了展示效果的差异。
一直以来,房价都是人们关注的话题,下面就用可视化的方式研究一下近十年(2009—2018 年)全国部分城市平均房价(数据源: )。
输出结果:
在热图查看房价的基础上,为了更准确查看某些城市的房价走向,可以使用折线图看看趋势,例如下列几个城市。
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类型
GEOquery 包使用指南
GEO(The NCBI Gene Expression Omnibus)是NCBI专门储存高通量测序的库。如基于芯片数据(mRNA、DNA、蛋白丰度),蛋白质质谱数据和高通量测序数据。
GEO数据主要有4种基本类型。Sample, Platform 和 Series是由作者上传的数据,dataset是由GEO官方从做和提交的数据整理出来的。
## 1.1 Platforms
GEO 号:GPLxxx。
芯片的组成信息,例如 cDNAs, oligonucleotide probesets, ORFs, antibodies 。或者其它定量检测平台信息,例如SAGE tags, peptides。
## 1.2 Samples
GEO 号: GSMxxx
描述单个样本信息,处理步骤、处理条件以及实验测得的结果。一个样本可能属于多个研究(Series)。
## 1.3 Series
GEO 号:GSExxx
涉及同一个研究的记录,包括处理过的数据、总结和分析;信息可以从GSEMatrix文件解析快速得到。
##1.4 Datasets
GEO 号:GDSxxx
一套经过整理的GEO 数据集。每套数据都是可以进行生物学或者统计学上比较的样本,是GEO自带工具进行数据分析和展示的基础。一个 GDS数据集来自同一个平台,数据分析和标准化都具有一致性。
getGEO 函数可以从GEO官网获取数据或者将固定格式数据解析为R格式的数据。
GEOquery 数据结构大致分为两类。第一种是GDS, GPL和GSM,他们的操作和数据类型差不多;第二种是GSE,GSE数据是由GSM和GPL整合而成。
## 3.1 GDS, GSM 和 GPL
这些数据类组成
可以使用show()查看这些数据类。
##3.2 GSE类
GSE类组成:
GEO datasets与limma 数据结构MAList 和Biobase数据结构 ExpressionSet比较相似。可以相互转换:
## 4.1 Getting GSE Series Matrix files as an ExpressionSet
GEO Series是一套实验数据的集合,有SOFT,MINiML格式文件,以及一个 Series Matrix File(s)文本。Series Matrix File是tab-delimited text, getGEO 函数可以解析,解析结果就是ExpressionSets。
一个GSE下如果存在多个GPL测序,筛选特定的GPL数据;GSE会有多个列表 gset[[idx]]
##4.2 Converting GDS to an ExpressionSet
##4.3 Converting GDS to an MAList
ExpressionSet不包含注释信息, getGEO 可以帮助我们获取。
与ExpressionSet不同,the limma MAList 包含基因注释信息。上面的gpl包含注释信息。
MAList不仅包含数据,还包含样本信息,和注释信息。
4.4 Converting GSE to an ExpressionSet
GSE转换成ExpressionSet
这个GSE包含两个GPLs,GPL96 和 GPL97。
筛选使用GPL96 的GSM。
获取表达矩阵:
构造ExpressionSet
##6.1 Getting all Series Records for a Given Platform
英文版原文见:[Using the GEOquery Package