arcpy-字段唯一值、重复值、最值、平均值、方差、标准差、中数、众数
插个广告,制作ArcGIS的Tool工具学习下面的教程就对了:
零基础学习Python制作ArcGIS自定义工具观看链接
《零基础学习Python制作ArcGIS自定义工具》课程简介
import arcpy
import numpy
from arcpy import da def GetFieldUniqueValue(inTable,inField):
value_list=[]
rows=arcpy.da.SearchCursor(inTable,inField)
for row in rows:
if row[0] not in value_list:
value_list.append( str(row[0]).decode('utf-8') )
del row
del rows
return value_list def GetDuplicateValue(inTable,inField):
dic={}
rows=arcpy.da.SearchCursor(inTable,inField)
for row in rows:
if row[0] in dic.keys():
dic[row[0]]=dic[row[0]]+1
else:
dic[row[0]]=1
del row
del rows
for key,value in dic.items():
if value==1:
del dic[key]
return dic def GetFieldMode(inTable,inField):
dic=GetDuplicateValue(inTable,inField)
lst=[value for key,value in dic.items()]
num=max(lst)
modeList=[]
for key,value in dic.items():
if value==num:
modeList.append(key)
return modeList def GetFieldValueList(inTable,inField):
value_list=[]
rows=arcpy.da.SearchCursor(inTable,inField)
for row in rows:
value_list.append(row[0])
del row
del rows
return value_list def main():
in_fc=arcpy.GetParameterAsText(0)
in_fld=arcpy.GetParameterAsText(1)
c=arcpy.GetParameterAsText(2)
if c== "Unique value":
uniqueValue=GetFieldUniqueValue(in_fc,in_fld)
arcpy.AddMessage("Unique Value:")
for i in uniqueValue:
arcpy.AddMessage(str(i))
if c=="Duplicate value":
duplicateValue= GetDuplicateValue(in_fc,in_fld)
arcpy.AddMessage("Duplicate Value,Count:")
for key,value in duplicateValue.items():
arcpy.AddMessage("{0},{1}".format(key,value))
if c=="Max/Min/Sum/Average etc.":
valueList=GetFieldValueList(in_fc,in_fld)
arcpy.AddMessage("Field Name:{}".format(in_fld))
arcpy.AddMessage("Max:{}".format(max(valueList)))
arcpy.AddMessage("Min:{}".format(min(valueList)))
arcpy.AddMessage("Sum:{}".format(sum(valueList)))
arcpy.AddMessage("Average:{}".format(numpy.mean(valueList)))
arcpy.AddMessage("Median:{}".format(numpy.median(valueList)))
arcpy.AddMessage("Mode:{}".format(GetFieldMode(in_fc,in_fld)))
arcpy.AddMessage("Variance:{}".format(numpy.var(valueList)))
arcpy.AddMessage("Standard Deviation:{}".format(numpy.std(valueList)))
arcpy-字段唯一值、重复值、最值、平均值、方差、标准差、中数、众数的更多相关文章
- 获取字段唯一值工具- -ArcPy和Python案例学习笔记
获取字段唯一值工具- -ArcPy和Python案例学习笔记 目的:获取某一字段的唯一值,可以作为工具使用,也可以作为函数调用 联系方式:谢老师,135-4855-4328,xiexiaokui# ...
- arcgis python获得字段唯一值
arcgis python获得字段唯一值 # Import native arcgisscripting moduleimport arcgisscripting, sys# Create the g ...
- Mysql查询某字段值重复的数据
查询user表中,user_name字段值重复的数据及重复次数 select user_name,count(*) as count from user group by user_name havi ...
- MySQL 查询表中某字段值重复的数据
MySQL中,查询表(dat_bill_2018_11)中字段(product_id)值重复的记录: ; 说明:先用GROUP BY 对 product_id 进行分组,同时使用COUNT(*)进行统 ...
- mysql 允许在唯一索引的字段中出现多个null值
线上问题:org.springframework.dao.DuplicateKeyException: PreparedStatementCallback; SQL [update fl_table ...
- SQL0803问题 键值重复
工作中遇到SQL0803问题 使用DB2AS400数据库 报数据库键值重复错误 经同事分析为索引的起始值与当前已有记录的最大索引值不匹配造成的,验证过程如下: 1.SELECT max(被索引字段) ...
- SQL语句增删改字段、表、修改默认值
收集转载: 1.修改字段,默认值 .修改字段默认值 alter table 表名 drop constraint 约束名字 ------说明:删除表的字段的原有约束 alter table 表名 ad ...
- Oracle-一张表中增加计算某列值重复的次数列,并且把表中其他列也显示出来,或者在显示过程中做一些过滤
总结: 1.计算某列值(数值or字符串)重复的次数 select 列1,count( 列1 or *) count1 from table1 group by 列1 输出的表为:第一列是保留唯一值的 ...
- select初始化添加option,通过标签给出回显值,由于回显值和初始化值option中有一个值重复,去重等问题!
第一张图片: 第二张图片 /** *该方法是为了去重,所谓去重就是 因为回显给select附上了值并设置为selected选中状态,而在我们初始化所有的select添加option元素中于回显的值重复 ...
- 表A中有两个表示时间的字段A,B;如果B的值大于A的值,则把B的值更新为A的值
sql语句:表A中有两个表示时间的字段A,B:如果B的值大于A的值,则把B的值更新为A的值 update 表名 set B=A where B>A
随机推荐
- Java管理Cookie增删改查操作。
Cookie属性 了解这几个属性之后,就知道如何进行Cookie的操作了. name Cookie的名称. value Cookie的值. maxAge Cookie的失效时间,有以下几种值,默认为- ...
- 使用自编译的Emacs26.0.50build10版本,helm报错(已解决)
使用自编译的Emacs26.0.50build10版本,helm报错(已解决) */--> code {color: #FF0000} pre.src {background-color: #0 ...
- java 调用DB2 SYSPROC.ADMIN_CMD存储过程导出数据
import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import ...
- rgba转化为16进制在线工具
https://www.sioe.cn/yingyong/yanse-rgb-16/
- 【记录】elasticsearch 注解
先记录地址,之后再整理 参考地址:https://blog.csdn.net/qq_28364999/article/details/81109666 https://blog.csdn.net/dy ...
- 前端学习(二十六)移动端s(笔记)
===================================================弹性布局rem布局---------------------------------------- ...
- 小白jquery横向菜单弹出菜单制作
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- webpack 学习2 入口(entry)和输入管理(output)
在开始上代码之前,先让我们盘一盘什么是webpack中的入口和输入 入口 假设你现在手里有一个水龙头,然后十个人用水管从你这里拿水.你这个龙头就是水的入口,水管就是你和这些人的依赖联系.现在供水局的要 ...
- 网页head头部meta和link标签使用大全
<!-- 声明文档使用的字符编码 --> <meta charset="utf-8"> <!-- 声明文档的兼容模式 --> <meta ...
- python中API接口是什么
首先还是举个例子:你要去银行取钱的例子.如果没有银行柜员给你服务,你自己去存钱,你需要做的事情有: 一,打开金库的大门 二,把钱放进去 三,记账,存放了多少钱 四,离开. 问题解决了,但是其中有不少问 ...