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 und die angegebenen Häufigkeitsfelder und Summenfelder.
Die Ausgabetabelle enthält die Häufigkeitsberechnung für jede Attributwertkombination der angegebenen Häufigkeitsfelder.
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.
Syntax
Frequency_analysis (in_table, out_table, frequency_fields, {summary_fields})
Parameter | Erläuterung | Datentyp |
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 Ausgabetabelle hinzugefügt werden. NULL-Werte sind von der Berechnung ausgeschlossen. | Field |
Codebeispiel
Frequency – Beispiel (Python-Fenster)
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion "Frequency" im unmittelbaren Modus verwenden.
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 – Beispiel 2 (eigenständiges Skript)
Das folgende eigenständige Skript veranschaulicht, wie Sie die Funktion "Frequency" verwenden.
# Name: Frequency_Example2.py
# 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 – Beispiel 3 (eigenständiges Skript)
Das folgende eigenständige Skript veranschaulicht, wie Sie viele Skriptfunktionen der Geoverarbeitung verwenden, darunter auch die Funktion "Frequency".
# Name: Frequency_Example3.py
# Description: Break all multipart features into singlepart 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).getOutput(0))
outCount = int(arcpy.GetCount_management(outFeatureClass).getOutput(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)
Umgebung
Lizenzierungsinformationen
- ArcGIS for Desktop Basic: Nein
- ArcGIS for Desktop Standard: Nein
- ArcGIS for Desktop Advanced: Ja