插个广告,制作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-字段唯一值、重复值、最值、平均值、方差、标准差、中数、众数的更多相关文章

  1. 获取字段唯一值工具- -ArcPy和Python案例学习笔记

    获取字段唯一值工具- -ArcPy和Python案例学习笔记   目的:获取某一字段的唯一值,可以作为工具使用,也可以作为函数调用 联系方式:谢老师,135-4855-4328,xiexiaokui# ...

  2. arcgis python获得字段唯一值

    arcgis python获得字段唯一值 # Import native arcgisscripting moduleimport arcgisscripting, sys# Create the g ...

  3. Mysql查询某字段值重复的数据

    查询user表中,user_name字段值重复的数据及重复次数 select user_name,count(*) as count from user group by user_name havi ...

  4. MySQL 查询表中某字段值重复的数据

    MySQL中,查询表(dat_bill_2018_11)中字段(product_id)值重复的记录: ; 说明:先用GROUP BY 对 product_id 进行分组,同时使用COUNT(*)进行统 ...

  5. mysql 允许在唯一索引的字段中出现多个null值

    线上问题:org.springframework.dao.DuplicateKeyException: PreparedStatementCallback; SQL [update fl_table ...

  6. SQL0803问题 键值重复

    工作中遇到SQL0803问题  使用DB2AS400数据库 报数据库键值重复错误 经同事分析为索引的起始值与当前已有记录的最大索引值不匹配造成的,验证过程如下: 1.SELECT max(被索引字段) ...

  7. SQL语句增删改字段、表、修改默认值

    收集转载: 1.修改字段,默认值 .修改字段默认值 alter table 表名 drop constraint 约束名字 ------说明:删除表的字段的原有约束 alter table 表名 ad ...

  8. Oracle-一张表中增加计算某列值重复的次数列,并且把表中其他列也显示出来,或者在显示过程中做一些过滤

    总结: 1.计算某列值(数值or字符串)重复的次数 select 列1,count( 列1 or *) count1  from table1 group by 列1 输出的表为:第一列是保留唯一值的 ...

  9. select初始化添加option,通过标签给出回显值,由于回显值和初始化值option中有一个值重复,去重等问题!

    第一张图片: 第二张图片 /** *该方法是为了去重,所谓去重就是 因为回显给select附上了值并设置为selected选中状态,而在我们初始化所有的select添加option元素中于回显的值重复 ...

  10. 表A中有两个表示时间的字段A,B;如果B的值大于A的值,则把B的值更新为A的值

    sql语句:表A中有两个表示时间的字段A,B:如果B的值大于A的值,则把B的值更新为A的值 update 表名 set B=A where B>A

随机推荐

  1. go中变量的使用

    // 变量的使用 package main import "fmt" // 定义多个全局变量 var ( globalName = "Jackie" globa ...

  2. python convert csv to xlsx

    搬运:http://stackoverflow.com/questions/17684610/python-convert-csv-to-xlsx import os import glob impo ...

  3. Java集合框架是什么?说出一些集合框架的优点?

    每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector.Stack.HashTable和Array. 随着集合的广泛使用,Java1.2提出了囊括所有集合接口.实现和算法的集合框架.在 ...

  4. Java集合框架的基础接口有哪些?

    Collection为集合层级的根接口.一个集合代表一组对象,这些对象即为它的元素.Java平台不提供这个接口任何直接的实现. Set是一个不能包含重复元素的集合.这个接口对数学集合抽象进行建模,被用 ...

  5. 解密native代码的内存使用

    前言 无论是从资源使用的角度,还是从发现内存泄漏问题的角度来看,在性能测试或者系统的稳定性测试中,内存的使用情况是一个很重要的监控点.为保证项目的质量前移,输入法内核测试小组的同学分配到了一个新的任务 ...

  6. Linux中的系统服务_01

    Linux中的系统服务_01 1.linux中所有的内容都是以文件的形式存在,所以其服务也是以文件的形式存在/etc/init.d目中, 2.存在改/etc/init.d/目录里的文件,都可以通过命令 ...

  7. mybatis generator 生成的example类的使用方法

    generator 生成的example类 示例 1. 搜索数据库Id不为空打元组 java代码 @RequestMapping("/test") public String ex ...

  8. [CSP-S模拟测试51]题解

    错失人生中第一次AK的机会…… A.attack 支配树板子题.考场上发明成功√ 首先支配树上两点路径之间的点都是必经之点,根据这个性质我们就可以yy出建树的方法.跑拓扑,在每个点(设为$x$)即将入 ...

  9. django更换默认数据库sqlite3为pymsql后出现Keyerror:255的解决办法----升级PyMySQL

    一.更换数据库的办法: 1.安装PyMySQL 2.修改project目录同名文件下的settings.py:DATABASES = { 'default': { # 'ENGINE': 'djang ...

  10. error LNK2001: 无法解析的外部符号 __imp__Shell_NotifyIconA@8

    编译链接报错 error LNK2001: 无法解析的外部符号 __imp__Shell_NotifyIconA@8 解决方案: 在代码中添加链接库Shell32.lib #pragma commen ...