Häufigkeit (Frequency) (Analyse)

Zusammenfassung

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

Verwendung

Syntax

Frequency_analysis (in_table, out_table, frequency_fields, {summary_fields})
ParameterErläuterungDatentyp
in_table

Die Tabelle mit den Feldern, die zur Berechnung der Häufigkeitsstatistik verwendet werden. Bei dieser Tabelle kann es sich um eine INFO- oder OLE DB-Tabelle, eine dBASE oder VPF-Tabelle oder um eine Feature-Class-Tabelle handeln.

Table View; Raster Layer
out_table

Die Tabelle, in der die berechneten Häufigkeitsstatistiken gespeichert werden.

Table
frequency_fields
[frequency_fields,...]

Das bzw. die Attributfelder, mit denen die Häufigkeitsstatistiken berechnet werden.

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

Die Attributfelder, die summiert und der Ausgabe-Tabelle hinzugefügt werden. NULL-Werte sind von der Berechnung ausgeschlossen.

Field

Codebeispiel

Häufigkeit (Frequency) – Beispiel (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion "Häufigkeit" (Frequency) im unmittelbaren Modus verwenden.

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

Das folgende eigenständige Skript veranschaulicht, wie Sie die Funktion "Häufigkeit" (Frequency) verwenden.

# Name: Frequency_Example2.py
# Description: Run Frequency on a table
# Author: ESRI
 
# Import system modules
import arcpy
from arcpy import env
 
# Set environment settings
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)
Häufigkeit (Frequency) – Beispiel 3 (eigenständiges Skript)

Das folgende eigenständige Skript veranschaulicht, wie Sie viele Skriptfunktionen der Geoverarbeitung verwenden, darunter auch die Funktion "Häufigkeit" (Frequency).

# Name: Frequency_Example3.py
# Description: Break all multipart features into singlepart features, 
#  and generate a report of which features were separated.
# Author: ESRI
 
# Import system modules
import arcpy
from arcpy import env
 
# Create variables for the input and output feature classes
inFeatureClass = "c:/gdb.mdb/vegetation"
outFeatureClass = "c:/gdb.mdb/vegetation_singlepart"
 
# Use error trapping in case a problem occurs when running the tools
try:
    # Add a field to the input (if not already present), this will be used as a unique identifier
    # Create list of all fields in inFeatureClass
    fieldList = arcpy.ListFields(inFeatureClass)
    # Create new empty list to hold field names from inFeatureClass
    fieldNameList = []
    # polulate the field name list with field names from inFeatureClass 
    for field in fieldList:
        fieldNameList = fieldNameList.append(field.name)
    # if "tmpUID" is not a field name in inFeatureClass, add it
    if "tmpUID" not in fieldNameList:
        arcpy.AddField(inFeatureClass, "tmpUID","double")
 
    # Determine what the name of the Object ID is 
    describe = arcpy.Describe(inFeatureClass)  
    OidFieldName = describe.OIDFieldName
 
    # Calculate the tmpUID to the OID since this is a Personal GDB, wrap the Field inside []
    exp = "[" + OidFieldName + "]"
    arcpy.CalculateField_management(inFeatureClass, "tmpUID", exp)
 
    # 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 
    if (arcpy.GetCount_management(inFeatureClass) == (arcpy.GetCount_management(outFeatureClass)):
        print "The number of features in the input is the same as in the output, so no multipart features were found"
    else:
        # 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 "Below is a list of the FIDs of all the multipart features from " + inFeatureClass
        rows = arcpy.SearchCursor(outFeatureClass + "_freq", "[FREQUENCY] > 1")
        row = rows.next()
        while row:
            print int(row.tmpUID)
            row = rows.next()
 
except:
    # If an error occurred, print out the error message
    print "Error occurred"
    print arcpy.GetMessages()

Umgebungen

Verwandte Themen

Lizenzinformationen

ArcView: Nein
ArcEditor: Nein
ArcInfo: Ja

7/10/2012