插个广告,制作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. Linux系统中NFS服务配置

    文章目录:                一.NFS服务简介                二.NFS服务端配置                三.NFS客户端配置                四. ...

  2. python面试题之什么是Tkinter ?

    TKinter是一款很知名的Python库,用它我们可以制作图形用户界面.其支持不同的GUI工具和窗口构件,比如按钮.标签.文本框等等.这些工具和构件均有不同的属性,比如维度.颜色.字体等. > ...

  3. 空类的sizeof,有一个虚函数的类的sizeof

    今天面试,忽然被问到这个题目,查了一下果然有欸. #include <iostream> using namespace std; class A { }; class B { publi ...

  4. go中浮点型用法总结

    示例 // 浮点型的用法 package main import ( "fmt" "unsafe" ) func main() { // 如果浮点数声明时未指定 ...

  5. Linux用户的基本操作3 (组的基本管理,用户提权)

    目录 组的基本原理 用户身份切换 5.用户身份提权 组的基本原理 组账户信息保存在/etc/group 和/etc/gshadow 两个文件中. /etc/group组账户信息 [root@zls ~ ...

  6. 小白struts2 札记

    struts2里面的filter 也就是起个过滤作用的  1 过滤request 请求2 过滤文件类型 禁用的文字等

  7. windows 安装 jenkins笔记

    Jenkins 所有镜像列表: http://mirrors.jenkins-ci.org/status.html 可在镜像网站上下载安装文件,比官方下载快些 jenkins 官网地址: https: ...

  8. hibernate简单连接mysql数据库配置

    使用hibernate连接mysql数据库 1:项目搭建好之后,在lib包中添加必要的jar包,和mysql数据库驱动jar包: jar包可以在hibernate的下载包(hibernate3.3.2 ...

  9. POJ 1273 Drainage Ditches (网络流Dinic模板)

    Description Every time it rains on Farmer John's fields, a pond forms over Bessie's favorite clover ...

  10. 二叉树入门(洛谷P1305)

    题目描述 输入一串完全二叉树,用遍历前序打出. 输入输出格式 输入格式: 第一行为二叉树的节点数n. 后面n行,每一个字母为节点,后两个字母分别为其左右儿子. 空节点用*表示 输出格式: 前序排列的完 ...