Étiquette | Explication | Type de données |
Table en entrée | Table en entrée contenant les champs utilisés pour le calcul des statistiques. | Table View; Raster Layer |
Table en sortie | Table en sortie devant stocker les statistiques calculées. | Table |
Champs de statistiques (Facultatif) | Spécifie le ou les champ(s) numérique(s) contenant les valeurs attributaires utilisées pour calculer les statistiques indiquées. Vous pouvez spécifier plusieurs combinaisons de statistiques et de champs. Les valeurs nulles sont exclues de tous les calculs. Les champs attributaires textuels peuvent être récapitulés à l’aide de la première et de la dernière statistique. Les champs attributaires numériques peuvent être récapitulés à l’aide de toutes les statistiques. Types de statistiques disponibles :
| Value Table |
Champ de récapitulation (Facultatif) | Champs en entrée utilisés pour calculer des statistiques distinctes pour chaque valeur attributaire unique (ou pour chaque combinaison de valeurs attributaires, si plusieurs champs sont spécifiés). | Field |
Séparateur de concaténation (Facultatif) | Un ou plusieurs caractères utilisés pour concaténer des valeurs lorsque l’option Concaténation est utilisée pour le paramètre Champs de statistiques. | String |
Synthèse
Calcule les résumés statistiques des champs d’une table.
Utilisation
La Table en sortie est constituée de champs contenant le résultat de l’opération statistique.
Cet outil propose les opérations statistiques suivantes : Somme, Moyenne, Maximum, Minimum, Plage, Écart type, Total, Premier, Dernier, Médiane, Variance et Unique.
Un champ est créé pour chaque type de statistique à l’aide de la convention d’affectation de noms suivante : SUM_<field>, MEAN_<field>, MIN_<field>, MAX_<field>, RANGE_<field>, STD_<field>, COUNT_<field>, FIRST_<field>, LAST_<field>, MEDIAN_<field>, VARIANCE_<field>, UNIQUE_<field> et CONCATENATE_<field>, où <field> est le nom du champ en entrée pour lequel la statistique est calculée. Le nom de champ est tronqué à 10 caractères lorsque la table en sortie est une table dBASE.
Si la valeur du paramètre Champ de récapitulation est spécifiée, les statistiques sont calculées séparément pour chaque valeur attributaire unique et il existe un enregistrement pour chaque valeur unique de Champ de récapitulation. Si aucune valeur n’est spécifiée pour le paramètre Champ de récapitulation, la valeur du paramètre Table en sortie contient un seul enregistrement.
Les valeurs nulles sont exclues de tous les calculs statistiques. Par exemple, la moyenne de 10, 5 et d’une valeur nulle est 7,5 ((10 + 5)/2).
Lors de l’utilisation de couches, seules les entités actuellement sélectionnées sont utilisées pour le calcul des statistiques.
Paramètres
arcpy.analysis.Statistics(in_table, out_table, {statistics_fields}, {case_field}, {concatenation_separator})
Nom | Explication | Type de données |
in_table | Table en entrée contenant les champs utilisés pour le calcul des statistiques. | Table View; Raster Layer |
out_table | Table en sortie devant stocker les statistiques calculées. | Table |
statistics_fields [[field, {statistic_type}],...] (Facultatif) | Spécifie le ou les champ(s) numérique(s) contenant les valeurs attributaires utilisées pour calculer les statistiques indiquées. Vous pouvez spécifier plusieurs combinaisons de statistiques et de champs. Les valeurs nulles sont exclues de tous les calculs. Les champs attributaires textuels peuvent être récapitulés à l’aide de la première et de la dernière statistique. Les champs attributaires numériques peuvent être récapitulés à l’aide de toutes les statistiques. Types de statistiques disponibles :
| Value Table |
case_field [case_field,...] (Facultatif) | Champs en entrée utilisés pour calculer des statistiques distinctes pour chaque valeur attributaire unique (ou pour chaque combinaison de valeurs attributaires, si plusieurs champs sont spécifiés). | Field |
concatenation_separator (Facultatif) | Un ou plusieurs caractères utilisés pour concaténer des valeurs lorsque l’option CONCATENATION est utilisée pour le paramètre statistics_fields. | String |
Exemple de code
La fenêtre de script Python suivante illustre l’utilisation de la fonction Statistics en mode immédiat.
import arcpy
arcpy.env.workspace = "C:/data/Habitat_Analysis.gdb"
arcpy.analysis.Statistics("futrds", "C:/output/output.gdb/stats", [["Shape_Length", "SUM"]], "NM")
Le script autonome ci-dessous indique la végétation par surface à moins de 150 pieds des routes principales.
# Description: Summarize the vegetation by area within 150 feet of major roads
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Set local variables
inRoads = "majorrds.shp"
outBuffer = "C:/output/output.gdb/buffer_out"
bufferDistance = "250 feet"
inVegetation = "Habitat_Analysis.gdb/vegtype"
outClip = "C:/output/output.gdb/clip_out"
joinField = "HOLLAND95"
joinTable = "c:/data/vegtable.dbf"
joinedField = "HABITAT"
outStatsTable = "C:/output/output.gdb/stats_out"
statsFields = [["Shape_Area", "SUM"]]
# Run Buffer to get a buffer of major roads
arcpy.analysis.Buffer(inRoads, outBuffer, bufferDistance, dissolve_option="ALL")
# Run Clip using the buffer output to get a clipped feature class of
# vegetation
arcpy.analysis.Clip(inVegetation, outBuffer, outClip)
# Run JoinField to add the vegetation type
arcpy.management.JoinField(outClip, joinField, joinTable, joinField, joinedField)
# Run Statistics to get the area of each vegetation type within the
# clipped buffer.
arcpy.analysis.Statistics(outClip, outStatsTable, statsFields, joinedField)
Le script autonome suivant effectue une boucle sur les champs attributaires d’un jeu de données et génère le paramètre statistics_fields de sorte que la statistique SUM soit calculée pour chaque champ numérique.
# Description: Script that runs the Summary Statistics tool to calculate the
# Sum statistic for every numeric field based on a unique case
# field.
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data/f.gdb"
# Set local variables
intable = "intable"
outtable = "sumstats"
casefield = "Name"
stats = []
# Loop through all fields in the Input Table
for field in arcpy.ListFields(intable):
# Find the fields that have a numeric type
if field.type in ("Double", "Integer", "Single", "SmallInteger"):
# Add the field name and Sum statistic type to the list of fields to
# summarize
stats.append([field.name, "Sum"])
# Correct formatting of stats [["Field1", "Sum"], ["Field2", "Sum"], ...]
# Run Statistics with the stats list
arcpy.analysis.Statistics(intable, outtable, stats, casefield)
Le script suivant utilise un pandas DataFrame pour accéder aux résultats tabulaires de la fonction Statistics et les afficher.
import arcpy
import pandas
import os
arcpy.env.overwriteOutput = True
in_table = r"d:\data\states.shp"
out_table = r"in_memory\stats_table"
stat_fields = [['POP1990', 'SUM'], ['POP1997', 'SUM']]
stats = arcpy.analysis.Statistics(in_table, out_table, stat_fields,
case_field='SUB_REGION')
# Get a list of field names to display
field_names = [i.name for i in arcpy.ListFields(out_table) if i.type != 'OID']
# Open a cursor to extract results from stats table
cursor = arcpy.da.SearchCursor(out_table, field_names)
# Create a pandas DataFrame to display results
df = pandas.DataFrame(data=[row for row in cursor],
columns=field_names)
print(df)
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?