Я хочу вычислить повторяющиеся значения из растра и сохранить их в dict, как я могу это сделать? Я сделал некоторое кодирование, но оно не работает, помогите мне решить проблему. ниже мой код:
import numpy as np
import arcpy
from arcpy import env
env.workspace = r"D:Results"
rasterlist = arcpy.ListRasters()
array = arcpy.RasterToNumPyArray(raster,nodata_to_value=0)
array1 = np.reshape(array, (1,np.product(array.shape)))
mydict = {}
for i in array1:
if i in mydict:
mydict[i] += 1
else:
mydict[i] = 1
print mydict
На самом деле я хочу реализовать следующую формулу: 1.png, где g — количество связанных групп, а tp — количество данных в p-й группе. Например, в последовательности {23, 24, трассировка, 6, трассировка, 24, 24, трассировка, 23} мы имеем g = 3, t{ = 2 для связанного значения 23, t2 = 3 для связанного значения 24, и r3 = 3 для трех значений трассы, где при n = 1