Skip To Content

Summenstatistik

Zusammenfassung

Berechnet die Summenstatistiken für Felder einer Tabelle.

Verwendung

  • Die Ausgabetabelle enthält Felder mit den Ergebnissen der statistischen Operation.

  • Mit diesem Werkzeug sind folgende statistische Operationen möglich: Summe, Mittelwert, Minimum, Maximum, Bereich, Standardabweichung, Anzahl, Erste(r), Letzte(r), Median und Varianz.

  • Für jeden Statistiktyp wird ein Feld mit der folgenden Benennungsregel erstellt: SUM_<field>, MEAN_<field>, MIN_<field>, MAX_<field>, RANGE_<field>, STD_<field>, COUNT_<field>, FIRST_<field>, LAST_<field>, MEDIAN_<field>, VARIANCE_<field> (wobei <field> der Name des Eingabefeldes ist, für das die Statistik berechnet wird). Wenn es sich bei der Ausgabetabelle um eine dBASE-Tabelle handelt, wird der Feldname auf zehn Zeichen verkürzt.

  • Wenn ein Untersuchungsfeld angegeben wurde, werden die Statistiken für jeden eindeutigen Attributwert separat berechnet. Die Ausgabetabelle enthält nur einen Datensatz, wenn kein Untersuchungsfeld angegeben wurde. Wird eines angegeben, ist für jeden Untersuchungsfeld-Wert ein Datensatz vorhanden.

  • NULL-Werte sind von allen statistischen Berechnungen ausgeschlossen. Beispiel: Der Wert "AVERAGE" von 10, 5 und NULL beträgt 7,5 ((10+5)/2). Mit "COUNT" wird die Anzahl der Werte zurückgegeben, die in der statistischen Berechnung enthalten sind, in diesem Fall 2.

  • Die Schaltfläche Feld hinzufügen für den Parameter Statistikfeld(er) wird nur in ModelBuilder verwendet. Der Parameter Statistikfeld(er) enthält in ModelBuilder keine Feldnamen, wenn das vorherige Werkzeug nicht ausgeführt wurde oder die abgeleiteten Daten nicht vorhanden sind. Mit der Schaltfläche Feld hinzufügen können Sie die erforderlichen Felder hinzufügen, um das Dialogfeld "Summenstatistik" abzuschließen und das Modell zu erstellen.

  • Wenn Sie Layer verwenden, werden nur die momentan selektierten Features zum Berechnen der Statistiken verwendet.

Syntax

Statistics_analysis (in_table, out_table, {statistics_fields}, {case_field})
ParameterErklärungDatentyp
in_table

Die Eingabetabelle mit den Feldern, die zur Berechnung der Statistiken verwendet werden. Bei der Eingabe kann es sich um eine INFO-, eine dBASE-, eine OLE-DB- oder eine VPF-Tabelle bzw. um eine Feature-Class handeln.

Table View; Raster Layer
out_table

Die Ausgabe-dBASE- oder Geodatabase-Tabelle, in der die berechneten Statistiken gespeichert werden.

Table
statistics_fields
[[field, {statistic_type}],...]
(optional)

Das Zahlenfeld mit den Attributwerten, mit denen die angegebene Statistik berechnet wird. Es können mehrere Statistik- und Feldkombinationen angegeben werden. NULL-Werte sind von allen statistischen Berechnungen ausgeschlossen.

Textattributfelder können mit den Statistiken FIRST oder LAST zusammengefasst werden. Numerische Attributfelder können mit jeder beliebigen Statistik zusammengefasst werden.

Die folgenden Statistiktypen stehen zur Verfügung:

  • SUM: Der Gesamtwert für das angegebene Feld wird hinzugefügt.
  • MEAN: Der Mittelwert für das angegebene Feld wird berechnet.
  • MIN: Der kleinste Wert aller Datensätze des angegebenen Feldes wird ermittelt.
  • MAX: Der größte Wert aller Datensätze des angegebenen Feldes wird ermittelt.
  • RANGE: Der Wertebereich (MAX minus MIN) für das angegebene Feld wird ermittelt.
  • STD: Die Standardabweichung der Werte im angegebenen Feld wird ermittelt.
  • COUNT: Gibt die Anzahl der Werte zurück, die in statistischen Berechnungen enthalten sind. Zählt alle Werte außer den NULL-Werten. Um die Anzahl der NULL-Werte in einem Feld zu bestimmen, wenden Sie COUNT auf das gewünschte Feld an. Wenden Sie dann COUNT auf ein anderes Feld an, das keine NULL-Werte enthält (z. B. OID, falls vorhanden), und ermitteln Sie die Differenz.
  • FIRST: Der erste Datensatz in der Eingabe wird ermittelt, und der angegebene Feldwert wird verwendet.
  • LAST: Der letzte Datensatz in der Eingabe wird ermittelt, und der angegebene Feldwert wird verwendet.
  • MEDIAN: Der Median aller Datensätze des angegebenen Feldes wird ermittelt.
  • VARIANCE: Die Varianz aller Datensätze des angegebenen Feldes wird ermittelt.
Value Table
case_field
[case_field,...]
(optional)

Das Feld in der Eingabe, mit dem die Statistiken separat für jeden eindeutigen Attributwert berechnet werden (oder eine Kombination der Attributwerte, wenn mehrere Felder angegeben sind).

Field

Codebeispiel

Statistics: Beispiel (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht, wie das Werkzeug Statistics im unmittelbaren Modus verwendet wird.

import arcpy
arcpy.env.workspace = "C:/data/Habitat_Analysis.gdb"
arcpy.Statistics_analysis("futrds", "C:/output/output.gdb/stats", [["Shape_Length", "SUM"]], "NM")
Statistics: Beispiel 2 (eigenständiges Skript)

Das folgende eigenständige Skript fasst die Vegetation nach Fläche im Umkreis von 150 Fuß von Hauptstraßen zusammen.

# 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)
Statistics: Beispiel 3 (eigenständiges Skript)

Das folgende eigenständige Skript durchläuft die Attributfelder eines Datasets und konstruiert den Parameter statistics_fields so, dass SUM für jedes numerische Feld berechnet wird.

# 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)
Statistics: Beispiel 4 (eigenständiges Skript)

In folgendem Skript wird ein pandas-DataFrame verwendet, um auf die tabellarischen Ergebnisse des Werkzeugs Statistics zuzugreifen und diese darzustellen.

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)

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen