Частота (Анализ)

Сводка

Считывает таблицу и набор полей и создает новую таблицу, содержащую уникальные значения полей и частоту встречаемости каждого уникального значения поля.

Использование

  • В выходной таблице будет содержаться поле Frequency, а также заданные поля частоты и суммарные поля.

  • Выходная таблица будет содержать значение частоты для каждой уникальной комбинации атрибутивного значения заданного поля(ей) частоты.

  • Если задано суммарное поле, уникальные значения атрибутов вычисления частоты суммируются с числовыми значениями атрибутов каждого суммарного поля.

  • При использовании слоев только выбранные в текущий момент пространственные объекты используются в вычислениях.

Синтаксис

arcpy.analysis.Frequency(in_table, out_table, frequency_fields, {summary_fields})
ParameterОбъяснениеТип данных
in_table

Таблица, содержащая поле(я), для которого(ых) будет рассчитана частотная статистика.

Table View; Raster Layer
out_table

Выходная таблица, в которую будет записана вычисленная частотная статистика.

Table
frequency_fields
[frequency_fields,...]

Поле для вычисления частотной статистики. Каждая уникальная комбинация значений полей будет включена в выходную таблицу как новая строка.

Field
summary_fields
[summary_fields,...]
(Дополнительный)

Атрибутивные поля, которые будут использованы для суммирования результатов и добавления их в выходную таблицу. Значения суммируются для каждой уникальной комбинации полей частоты. Пустые значения исключаются из статистических вычислений.

Field

Пример кода

Frequency, пример (Окно Python)

Пример скрипта окна Python для использования функции Frequency в режиме прямого запуска.

import arcpy
arcpy.env.workspace = "C:/data/Portland.gdb/Taxlots"
arcpy.Frequency_analysis("taxlots",
                         "C:/output/output.gdb/tax_frequency",
                         ["YEARBUILT", "COUNTY"],
                         ["LANDVAL", "BLDGVAL", "TOTALVAL"])
Frequency, пример 2 (автономный скрипт)

В следующем автономном скрипте показано использование функции Frequency.

# Description: Run Frequency on a table
 
# Import system modules
import arcpy
 
# Set environment settings
arcpy.env.workspace = "C:/data/Portland.gdb/Taxlots"
 
# Set local variables
inTable = "taxlots"
outTable = "C:/output/output.gdb/tax_frequency"
frequencyFields = ["YEARBUILT", "COUNTY"]
summaryFields = ["LANDVAL", "BLDGVAL", "TOTALVAL"]
 
# Execute Frequency
arcpy.Frequency_analysis(inTable, outTable, frequencyFields, summaryFields)
Frequency, пример 3 (автономный скрипт)

Пример скрипта для серии инструментов, среди которых функция Frequency, в автономном режиме.

# Description: Break all multipart features into single part features, 
#  and generate a report of which features were separated.
 
# Import system modules
import arcpy
 
# Create variables for the input and output feature classes
inFeatureClass = "c:/data/gdb.gdb/vegetation"
outFeatureClass = "c:/data/gdb.gdb/vegetation_singlepart"
try:
    # Create list of all fields in inFeatureClass
    fieldNameList = [field.name for field in arcpy.ListFields(inFeatureClass)]
    # Add a field to the input this will be used as a unique identifier
    arcpy.AddField_management(inFeatureClass, "tmpUID", "double")
 
    # Determine what the name of the Object ID is 
    OIDFieldName = arcpy.Describe(inFeatureClass).OIDFieldName
   
    # Calculate the tmpUID to the OID
    arcpy.CalculateField_management(inFeatureClass, "tmpUID",
                                    "[" + OIDFieldName + "]")
 
    # Run the tool to create a new fc with only singlepart features
    arcpy.MultipartToSinglepart_management(inFeatureClass, outFeatureClass)
 
    # Check if there is a different number of features in the output
    #   than there was in the input
    inCount = int(arcpy.GetCount_management(inFeatureClass)[0])
    outCount = int(arcpy.GetCount_management(outFeatureClass)[0])
    
    if inCount != outCount:
        # If there is a difference, print out the FID of the input 
        #   features which were multipart
        arcpy.Frequency_analysis(outFeatureClass,
                                 outFeatureClass + "_freq", "tmpUID")
 
        # Use a search cursor to go through the table, and print the tmpUID 
        print("Multipart features from {0}".format(inFeatureClass))
        for row in arcpy.da.SearchCursor(outFeatureClass + "_freq",
                                         ["tmpUID"], "FREQUENCY > 1"):
            print(int(row[0]))
    else:
        print("No multipart features were found")
except arcpy.ExecuteError:
    print(arcpy.GetMessages())
except Exception as err:
    print(err)

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы