arcpy-字段唯一值重复值最值平均值方差标准差中数众数
Posted yzhyingcool
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了arcpy-字段唯一值重复值最值平均值方差标准差中数众数相关的知识,希望对你有一定的参考价值。
1 import arcpy 2 import numpy 3 from arcpy import da 4 5 def GetFieldUniqueValue(inTable,inField): 6 value_list=[] 7 rows=arcpy.da.SearchCursor(inTable,inField) 8 for row in rows: 9 if row[0] not in value_list: 10 value_list.append( str(row[0]).decode(‘utf-8‘) ) 11 del row 12 del rows 13 return value_list 14 15 def GetDuplicateValue(inTable,inField): 16 dic= 17 rows=arcpy.da.SearchCursor(inTable,inField) 18 for row in rows: 19 if row[0] in dic.keys(): 20 dic[row[0]]=dic[row[0]]+1 21 else: 22 dic[row[0]]=1 23 del row 24 del rows 25 for key,value in dic.items(): 26 if value==1: 27 del dic[key] 28 return dic 29 30 def GetFieldMode(inTable,inField): 31 dic=GetDuplicateValue(inTable,inField) 32 lst=[value for key,value in dic.items()] 33 num=max(lst) 34 modeList=[] 35 for key,value in dic.items(): 36 if value==num: 37 modeList.append(key) 38 return modeList 39 40 def GetFieldValueList(inTable,inField): 41 value_list=[] 42 rows=arcpy.da.SearchCursor(inTable,inField) 43 for row in rows: 44 value_list.append(row[0]) 45 del row 46 del rows 47 return value_list 48 49 def main(): 50 in_fc=arcpy.GetParameterAsText(0) 51 in_fld=arcpy.GetParameterAsText(1) 52 c=arcpy.GetParameterAsText(2) 53 if c== "Unique value": 54 uniqueValue=GetFieldUniqueValue(in_fc,in_fld) 55 arcpy.AddMessage("Unique Value:") 56 for i in uniqueValue: 57 arcpy.AddMessage(str(i)) 58 if c=="Duplicate value": 59 duplicateValue= GetDuplicateValue(in_fc,in_fld) 60 arcpy.AddMessage("Duplicate Value,Count:") 61 for key,value in duplicateValue.items(): 62 arcpy.AddMessage("0,1".format(key,value)) 63 if c=="Max/Min/Sum/Average etc.": 64 valueList=GetFieldValueList(in_fc,in_fld) 65 arcpy.AddMessage("Field Name:".format(in_fld)) 66 arcpy.AddMessage("Max:".format(max(valueList))) 67 arcpy.AddMessage("Min:".format(min(valueList))) 68 arcpy.AddMessage("Sum:".format(sum(valueList))) 69 arcpy.AddMessage("Average:".format(numpy.mean(valueList))) 70 arcpy.AddMessage("Median:".format(numpy.median(valueList))) 71 arcpy.AddMessage("Mode:".format(GetFieldMode(in_fc,in_fld))) 72 arcpy.AddMessage("Variance:".format(numpy.var(valueList))) 73 arcpy.AddMessage("Standard Deviation:".format(numpy.std(valueList)))
以上是关于arcpy-字段唯一值重复值最值平均值方差标准差中数众数的主要内容,如果未能解决你的问题,请参考以下文章
R语言vtreat包自动处理dataframe的缺失值计算数据列的均值和方差并基于均值和方差信息对数据列进行标准化缩放计算所有数据列的均值和方差对所有数据列进行标准化缩放