arcgis 做统计图时找不到属性字段/字符串字段转化为数值 一个点图层想按一个数值为百分比的字段出个图,结果到properties - symbology - quantities里面发现找不到这个字段。方法1、嫌字段计算器麻烦的话,直接在excel里把百分比形式变成正常的数值形式,再连接进gis,这样应该能识别为数值类型。原因:这个字段是在外面excel里算好,然后通过表连接过来的,在excel里就是百分数的形式,进gis以后。新建一列,字段类型按实际需求选成一种数值类型,我这里选float。新建的这列用字段计算器,语言选python,字符串里的表达式就输入。
arcgis 面要素相交 假设有绿色面图层和紫色面图层,绿色图层有两个区域aa和bb,现在想得到紫色图层分别落在aa和bb上的部分,并附上属性值。打开属性表可以发现对应的属性值也有了。输入:把涉及到的两个图层都输入进去。输出:选好输出图层的存储路径。得到的黄色图层就是相交的部分。其他的就默认不要改就好。
自然语言处理 中文停用词词典 我整合了4个常用的中文停用词词典(https://gitcode.net/mirrors/goto456/stopwords/-/tree/master),剔除了其中的非中文词汇,得到停用词词典如下,可直接取用。
Python 自然语言处理 文本分类 地铁方面留言文本 我找的4个停用词词典下载地址:https://gitcode.net/mirrors/goto456/stopwords/-/tree/master。定义文本预处理的函数,作用:去除无用字符、去除停用词、统一地铁线路名。定义函数,读取停用词词典文件,得到一个停用词列表。定义模型实际应用的函数,输入文本,输出分类结果。定义函数,生成自己的停用词词典,得到一个文件。后面我会把自己整合好的停用词词典上传。定义函数,加载用来分词的自定义词典。将关于地铁的留言文本进行自动分类。定义函数,统一地铁线路名称格式。
Python 统一地铁线路名称 比如,地铁1号线,可能表述为1号线、地铁1号线、轨道1号线、轨道交通1号线、1号地铁、一号线、地铁一号线、轨道一号线、轨道交通一号线、一号地铁,想统一为“地铁1号线”。最近在做一个文本挖掘项目时遇到一个很实际的问题:文本里对地铁线路名称的表述很杂乱,如何统一。前提是要先建立一个地铁线路名称词典,把上述可能的线路名表述都纳入,用来准确分词。
经纬度导入arcgis【自用】 工具箱 - data management tools - projections and transformations - define projection。选择1984坐标系(搜索4326)先把表格导入gis,按XY显示。然后在目录里找到坐标转换小工具。
csv文件导入MySQL load data infile 'C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\xxx.csv'into table tablenamefields terminated by ','optionally enclosed by '\"'lines terminated by ''ignore 1 lines;
mysql导出数据为csv文件 会了SQL以后觉得体量较大、逻辑稍复杂的数据处理在数据库里比excel里容易得多,也快速的多,但时间久了数据在MySQL里的导入导出总是容易忘记,故写在这里备忘。还是不要界面化
leetcode 多数元素 给定一个大小为n的数组,找到出现次数大于⌊n/2⌋的元素,称之为“多数元素”。假设数组是非空的,且多数元素存在。方法一:遍历寻找简单粗暴。去重,遍历每个元素,统计其出现的次数,如果大于⌊n/2⌋,将其返回。# 方法一:遍历def maj1(ls): for i in set(ls): if ls.count(i) > len(ls)/2: return i方法二:统计频数出现次数大于⌊n/2⌋次的多数元素,一定是数组中出现次数最
比较冒泡、插入、快速的运行效率 # 冒泡排序def bubble(ls): length = len(ls) while length>1: for i in range(length-1): if ls[i]>ls[i+1]: ls[i],ls[i+1] = ls[i+1],ls[i] length -= 1 return ls# 插入排序def myinsert(ls): for i in r.
python map()函数基本用法 今天我们来解决3个具体问题。问题1:用户输入一行数字,数字之间用空格隔开,如何接收这些数字并转换为列表。# 接收一组数字,方法1ls = []for i in input().split(): ls.append(eval(i))print(ls)其实,还有一种更优雅的方法。# 接受一组数字,方法2ls = list(map(eval, input().split()))print(ls)这里就要隆重介绍我们今天的主角——map()函数!map(function,
python生成器 带有yield关键字的函数被称为生成器(generator)。生成器的适用场景如下:列表元素可以按照某种算法推算出来,用数学的话讲就是——已知数列的通项公式或递推公式。 列表元素数量庞大,可能有上百万个,甚至无穷个。 仅仅需要访问列表中前几个元素,后面绝大多数元素占用的空间都是一种浪费。先举个简单的例子。ls = [2*x for x in range(1,11)] # 列表ge = (2*x for x in range(1,11)) # 生成器print(ls)print(ge)
验证回文串 总结 提一个非常简单的问题:如何验证回文串。最先想到的是,把字符串反转,然后和原字符串比较。那么顺势总结一下字符串反转的方法。有的小伙伴可能会想到reverse()方法。但要注意,reverse()是列表才有的方法,用于字符串会报错。当然,把字符串转换成列表就可以:ls = list(mystr)ls.reverse()mystr1 = ''.join(ls)不过,这又是何必呢。内置函数reversed()可以用于各种序列,包括元组、列表、字符串、range等。要注意的是,它返回的是迭代器。
python生成《平安经》——zip()函数用法 选一个容易的来操作——各年龄平安。话不多说,直接上代码:print("初生平安,满月平安,百天平安,",end='')for i in zip([str(x) for x in range(1,101)],["岁平安"]*100): print(i[0]+i[1],end=',')print('\b。')相信大家对这段代码的含义理解起来并不难。本文着重介绍一下zip()函数。zip()函数的参数是两个或多个可迭代对象,它能将对象中对应的元素打包成一个个元组,然后返回由这些元组组成
python 字符串保留特定字符 全面总结 leetcode上有一道很简单的题目:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,忽略字母的大小写。将题目拆解成两部分:第一,处理字符串,使其只保留字母和数字,且字母统一大小写;第二,验证回文串。本文先来讲讲第一部分。改变字母大小写很简单,用内置函数即可。重点在于只保留字母和数字字符。我首先想到的是正则。对于正则,我并不是很会。难者不会,会者不难,我觉得它太难了,完全不适合我这种又懒又笨的猪脑子,向来是现用现查。这一查,就查出两种方法。算上不用正则的,总计3种方
Python 字符串只保留某一种字符 正则是个好东西。re里面的功能太多太杂,为了简单方便,统一只记一个函数:findall()import remystr = "hahaAAA哈哈123./!#"str1 = ''.join(re.findall('[\u4e00-\u9fa5]',mystr)) # 只保留汉字print(str1)str2 = ''.join(re.findall('[a-z]',mystr)) # 只保留小写字母print(str2)str3 = ''.join(re.findall('[0
python 随便玩玩系列2:逻辑运算符 时隔半年重温python基础教程,发现了以前没注意过的事情。a and b,and是逻辑运算符与,如果a和b都为True,结果返回True,否则返回False。问题来了,如何自己写代码实现“与”?即实现判断a and b是true还是false,要求不能使用编程语言自带的逻辑运算符(何苦自己为难自己……)我首先想到的:如果a是false,那么大局已定,直接返回false;如果a不是false,那么认为a是true,接着看b;(只能说认为a是true,其实python里true的值为1)
cajviewer 卡顿 之前用cajviewer 7.2读论文卡的一笔,看网上说7.1版本的会好很多,不过今年看到7.3版本推出了,于是我没有尝试7.1的旧版,直接安装了7.3的新版。但实际使用之后我大失所望,7.3还是原来那个尿性,并没有多大改善,那种滑动鼠标滚轮时页面刷新速度跟不上的感觉,就好比看视频卡、听结巴说话一样令人烦心。之后我抱着试试看的心态下载了caj云阅读,没想到效果出奇的好,浏览论文十分顺畅,从此跟viewer说拜拜,开始一心一意使用云阅读。顺带一提,理论上viewer和云阅读都有把caj打印成PDF