Häufigkeit (Frequency) (Analysis)

Zusammenfassung

Liest eine Tabelle und eine Reihe von Feldern und erstellt eine neue Tabelle, die eindeutige Feldwerte und die Anzahl der Vorkommen jedes eindeutigen Feldwertes enthält.

Verwendung

  • Die Ausgabetabelle enthält das Feld Frequency sowie die angegebenen Häufigkeitsfelder und Summenfelder.

  • Die Ausgabetabelle enthält die Häufigkeit für jede eindeutige Kombination aus den angegebenen Häufigkeitsfeldern.

  • Wird ein Summenfeld angegeben, werden die eindeutigen Attributwerte der Häufigkeitsberechnung durch die numerischen Attributwerte jedes Summenfeldes zusammengefasst.

  • Wenn Sie Layer verwenden, werden nur die momentan ausgewählten Features in die Berechnung einbezogen.

Parameter

BeschriftungErläuterungDatentyp
Eingabetabelle

Die Tabelle mit den Feldern, die zur Berechnung der Häufigkeitsstatistik verwendet werden.

Table View; Raster Layer
Ausgabetabelle

Die Ausgabetabelle, in der die Häufigkeitsstatistiken gespeichert werden.

Table
Häufigkeitsfeld(er)

Die Felder, die zur Berechnung der Häufigkeitsstatistiken verwendet werden. Jede eindeutige Kombination von Feldwerten wird als neue Zeile in die Ausgabetabelle aufgenommen.

Field
Summenfeld(er)
(optional)

Die Attributfelder, die summiert und der Ausgabetabelle hinzugefügt werden. Die Werte werden für jede eindeutige Kombination aus den Häufigkeitsfeldern summiert. NULL-Werte sind von der Berechnung ausgeschlossen.

Field

arcpy.analysis.Frequency(in_table, out_table, frequency_fields, {summary_fields})
NameErläuterungDatentyp
in_table

Die Tabelle mit den Feldern, die zur Berechnung der Häufigkeitsstatistik verwendet werden.

Table View; Raster Layer
out_table

Die Ausgabetabelle, in der die Häufigkeitsstatistiken gespeichert werden.

Table
frequency_fields
[frequency_fields,...]

Die Felder, die zur Berechnung der Häufigkeitsstatistiken verwendet werden. Jede eindeutige Kombination von Feldwerten wird als neue Zeile in die Ausgabetabelle aufgenommen.

Field
summary_fields
[summary_fields,...]
(optional)

Die Attributfelder, die summiert und der Ausgabetabelle hinzugefügt werden. Die Werte werden für jede eindeutige Kombination aus den Häufigkeitsfeldern summiert. NULL-Werte sind von der Berechnung ausgeschlossen.

Field

Codebeispiel

Frequency – Beispiel (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion Frequency im unmittelbaren Modus verwendet wird.

import arcpy
arcpy.env.workspace = "C:/data/Portland.gdb/Taxlots"
arcpy.analysis.Frequency("taxlots",
                         "C:/output/output.gdb/tax_frequency",
                         ["YEARBUILT", "COUNTY"],
                         ["LANDVAL", "BLDGVAL", "TOTALVAL"])
Frequency – Beispiel 2 (eigenständiges Skript)

Das folgende eigenständige Skript veranschaulicht, wie die Funktion Frequency verwendet wird.

# 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.analysis.Frequency(inTable, outTable, frequencyFields, summaryFields)
Frequency – Beispiel 3 (eigenständiges Skript)

Das folgende eigenständige Skript veranschaulicht die Verwendung vieler Skripterstellungsfunktionen für die Geoverarbeitung einschließlich der Funktion 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.management.AddField(inFeatureClass, "tmpUID", "double")
 
    # Determine what the name of the Object ID is 
    OIDFieldName = arcpy.Describe(inFeatureClass).OIDFieldName
   
    # Calculate the tmpUID to the OID
    arcpy.management.CalculateField(inFeatureClass, "tmpUID",
                                    "[" + OIDFieldName + "]")
 
    # Run the tool to create a new fc with only singlepart features
    arcpy.management.MultipartToSinglepart(inFeatureClass, outFeatureClass)
 
    # Check if there is a different number of features in the output
    #   than there was in the input
    inCount = int(arcpy.management.GetCount(inFeatureClass)[0])
    outCount = int(arcpy.management.GetCount(outFeatureClass)[0])
    
    if inCount != outCount:
        # If there is a difference, print out the FID of the input 
        #   features which were multipart
        arcpy.analysis.Frequency(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)