Résumés statistiques (Analyse)

Résumé

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 permet les opérations statistiques suivantes : Somme, Moyenne, Maximum, Minimum, Plage, Écart type, Total, Premier, Dernier, Médiane Variance et Unique.

  • Un champ de dénomination sera créé pour chaque type de statistique, selon la convention suivante : SUM_<field>, MEAN_<field>, MIN_<field>, MAX_<field>, RANGE_<field>, STD_<field>, COUNT_<field>, FIRST_<field>, LAST_<field>, MEDIAN_<field>, VARIANCE_<field> et UNIQUE_<field> (où <field> représente le nom du champ de saisie auquel correspond le calcul statistique). Le nom de champ est tronqué à 10 caractères lorsque la table en sortie est une table dBASE.

  • Si un Champ de récapitulation est spécifié, les statistiques sont calculées séparément pour chaque valeur attributaire unique. Si aucun Champ de récapitulation n'est spécifié, la Table en sortie contient un seul enregistrement. S'il est spécifié, un enregistrement est créé pour chaque valeur du Champ de récapitulation.

  • 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 permettent de calculer des statistiques.

Syntaxe

arcpy.analysis.Statistics(in_table, out_table, {statistics_fields}, {case_field})
ParamètreExplicationType 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 champ numérique contenant les valeurs attributaires permettant de 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 statistiques.

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 :

  • SUM : ajoute la valeur totale du champ spécifié.
  • MEAN : calcule la moyenne du champ spécifié.
  • MIN - Recherche la plus petite valeur parmi tous les enregistrements du champ spécifié.
  • MAX : recherche la plus grande valeur parmi tous les enregistrements du champ spécifié.
  • RANGE : Recherche la plage de valeurs (maximum moins minimum) du champ spécifié.
  • STD : recherche l'écart type sur les valeurs du champ spécifié.
  • COUNT : recherche le nombre de valeurs incluses dans les calculs statistiques. Toutes les valeurs sont prises en compte, hormis les valeurs Null. Pour déterminer le nombre de valeurs Null dans un champ, utilisez COUNT sur le champ en question, puis sur un autre champ qui ne contient pas de valeurs Null (par exemple l’OID, s’il est présent), puis soustrayez les deux valeurs.
  • FIRST : recherche le premier enregistrement en entrée et utilise la valeur du champ spécifié.
  • LAST : recherche le dernier enregistrement en entrée et utilise la valeur du champ spécifié.
  • MEDIAN : calcule la médiane de tous les enregistrements du champ spécifié.
  • VARIANCE : calcule la variance de tous les enregistrements du champ spécifié.
  • UNIQUE : calcule le nombre de valeurs uniques du champ spécifié.
Value Table
case_field
[case_field,...]
(Facultatif)

Champ(s) 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

Exemple de code

Exemple d’utilisation de l’outil Statistiques (fenêtre Python)

Le script de fenêtre Python suivant montre comment utiliser l'outil Statistics en mode immédiat.

import arcpy
arcpy.env.workspace = "C:/data/Habitat_Analysis.gdb"
arcpy.Statistics_analysis("futrds", "C:/output/output.gdb/stats", [["Shape_Length", "SUM"]], "NM")
Exemple 2 d’utilisation de l’outil Statistiques (script autonome)

Le script autonome ci-dessous résume 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"]]
# Execute Buffer to get a buffer of major roads
arcpy.Buffer_analysis(inRoads, outBuffer, bufferDistance, dissolve_option="ALL")
# Execute Clip using the buffer output to get a clipped feature class of 
# vegetation
arcpy.Clip_analysis(inVegetation, outBuffer, outClip)
# Execute JoinField to add the vegetation type
arcpy.JoinField_management(outClip, joinField, joinTable, joinField, joinedField)
# Execute Statistics to get the area of each vegetation type within the 
# clipped buffer.
arcpy.Statistics_analysis(outClip, outStatsTable, statsFields, joinedField)
Exemple 3 d’utilisation de l’outil Statistiques (script autonome)

Le script autonome suivant parcourt les champs attributaires d’un jeu de données et construit le paramètre statistics_fields de façon que la statistique SUM soit calculée pour chaque champ numérique.

# Description: Script that runs the Summary Statistic 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):
    # Just 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 the Summary Statistics tool with the stats list
arcpy.Statistics_analysis(intable, outtable, stats, casefield)
Exemple 4 d’utilisation de l’outil Statistiques (script autonome)

Le script suivant utilise un pandas DataFrame pour permettre d'accéder et afficher les résultats tabulaires de l'outil Statistics.

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.Statistics_analysis(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