Résumé
Permet de lire une table et un ensemble de champs et de créer une nouvelle table contenant les valeurs de champ uniques ainsi que le nombre d'occurrences de chaque valeur de champ unique.
Utilisation
La table en sortie contient le champ Frequency et les champs de fréquence et de récapitulation spécifiés.
La table en sortie contient la fréquence pour chaque combinaison unique des champs de fréquence spécifiés.
Si un champ de récapitulation est spécifié, les valeurs attributaires uniques du calcul de fréquence sont résumées par valeur attributaire numérique de chaque champ de récapitulation.
Lors de l'utilisation de couches, seules les entités actuellement sélectionnées sont utilisées dans les calculs.
Syntaxe
arcpy.analysis.Frequency(in_table, out_table, frequency_fields, {summary_fields})
Paramètre | Explication | Type de données |
in_table | Table contenant le ou les champs utilisé(s) pour le calcul des statistiques de fréquence. | Table View; Raster Layer |
out_table | Table en sortie dans laquelle sont stockées les statistiques de fréquence. | Table |
frequency_fields [frequency_fields,...] | Champs utilisés pour calculer les statistiques de fréquence. Chaque combinaison unique de valeurs de champ est incluse sous forme de nouvelle ligne dans la table en sortie. | Field |
summary_fields [summary_fields,...] (Facultatif) | Champs attributaires à additionner et à ajouter à la table en sortie. Les valeurs sont additionnées pour chaque combinaison unique de champs de fréquence. Les valeurs Null sont exclues de ce calcul. | Field |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction Frequency en mode immédiat.
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"])
Le script autonome ci-dessous illustre l'utilisation de la fonction 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)
Le script autonome ci-dessous illustre l’utilisation de nombreuses fonctions de script de géotraitement, y compris la fonction 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)
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?