Summenstatistik (Analyse)

Zusammenfassung

Berechnet die Summenstatistiken für Felder einer Tabelle.

Verwendung

  • Der Wert 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), Medianwert, Varianz und Eindeutig.

  • 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>, UNIQUE_<field> und CONCATENATE_<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 der Parameterwert Untersuchungsfeld angegeben ist, werden Statistiken gesondert für jeden eindeutigen Attributwert berechnet. Darüber hinaus gibt es einen Datensatz für jeden eindeutigen Wert für Untersuchungsfeld. Der Parameterwert Ausgabetabelle enthält nur einen Datensatz, wenn kein Parameterwert Untersuchungsfeld angegeben wurde.

  • NULL-Werte sind von allen statistischen Berechnungen ausgeschlossen. Beispiel: Der Durchschnittswert von 10, 5 und einem NULL-Wert ist 7,5 ((10+5)/2).

  • Wenn Sie Layer verwenden, werden nur die aktuell ausgewählten Features zum Berechnen von Statistiken verwendet.

Parameter

BeschriftungErläuterungDatentyp
Eingabetabelle

Die Eingabetabelle mit den Feldern, die zur Berechnung der Statistiken verwendet werden.

Table View; Raster Layer
Ausgabetabelle

Die Ausgabetabelle, in der die berechneten Statistiken gespeichert werden.

Table
Statistikfelder
(optional)

Gibt das numerische Feld bzw. die numerischen Felder mit den Attributwerten an, mit denen die angegebene Statistik berechnet wird. Es können mehrere Statistik- und Feldkombinationen angegeben werden. NULL-Werte sind von allen 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:

  • Summe: Die Werte für das angegebene Feld werden addiert.
  • Mittelwert: Der Durchschnitt für das angegebene Feld wird berechnet.
  • Minimum: Der kleinste Wert aller Datensätze des angegebenen Feldes wird ermittelt.
  • Maximum: Der größte Wert aller Datensätze des angegebenen Felds wird ermittelt.
  • Bereich: Der Wertebereich (Maximum minus Minimum) für das angegebene Feld wird berechnet.
  • Standardabweichung: Die Standardabweichung der Werte im angegebenen Feld wird berechnet.
  • Anzahl: Die Anzahl der Werte, die in den Berechnungen enthalten sind, wird ermittelt. Alle Werte außer den NULL-Werten werden gezählt. Um die Anzahl der NULL-Werte in einem Feld zu bestimmen, wenden Sie "Anzahl" auf das gewünschte Feld an. Wenden Sie dann "Anzahl" auf ein anderes Feld an, das keine NULL-Werte enthält (z. B. OID, falls vorhanden), und ermitteln Sie die Differenz.
  • Erster: Der angegebene Feldwert des ersten Datensatzes in der Eingabe wird verwendet.
  • Letzter: Der angegebene Feldwert des letzten Datensatzes in der Eingabe wird verwendet.
  • Medianwert: Der Medianwert aller Datensätze des angegebenen Feldes wird berechnet.
  • Varianz: Die Varianz aller Datensätze des angegebenen Feldes wird berechnet.
  • Eindeutig: Die Anzahl der Einzelwerte für das angegebene Feld wird gezählt.
  • Verbinden: Die Werte für das angegebene Feld werden verbunden. Die Werte können mit dem Parameter Verbindungstrennzeichen getrennt werden.
Value Table
Untersuchungsfeld
(optional)

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

Field
Verbindungstrennzeichen
(optional)

Zeichen, die zum Verbinden von Werten verwendet werden, wenn die Option Verbindung für den Parameter Statistikfelder verwendet wird.

String

arcpy.analysis.Statistics(in_table, out_table, {statistics_fields}, {case_field}, {concatenation_separator})
NameErläuterungDatentyp
in_table

Die Eingabetabelle mit den Feldern, die zur Berechnung der Statistiken verwendet werden.

Table View; Raster Layer
out_table

Die Ausgabetabelle, in der die berechneten Statistiken gespeichert werden.

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

Gibt das numerische Feld bzw. die numerischen Felder mit den Attributwerten an, mit denen die angegebene Statistik berechnet wird. Es können mehrere Statistik- und Feldkombinationen angegeben werden. NULL-Werte sind von allen 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: Die Werte für das angegebene Feld werden addiert.
  • MEAN: Es wird der Mittelwert für den angegebenen Bereich berechnet.
  • MIN: Der kleinste Wert aller Datensätze des angegebenen Feldes wird ermittelt.
  • MAX: Der größte Wert aller Datensätze des angegebenen Felds wird ermittelt.
  • RANGE: Der Wertebereich (Maximum minus Minimum) für das angegebene Feld wird berechnet.
  • STD: Die Standardabweichung der Werte im angegebenen Feld wird berechnet.
  • COUNT: Die Anzahl der Werte, die in den Berechnungen enthalten sind, wird ermittelt. Alle Werte außer den NULL-Werten werden gezählt. Um die Anzahl der NULL-Werte in einem Feld zu bestimmen, wenden Sie "Anzahl" auf das gewünschte Feld an. Wenden Sie dann "Anzahl" auf ein anderes Feld an, das keine NULL-Werte enthält (z. B. OID, falls vorhanden), und ermitteln Sie die Differenz.
  • FIRST: Der angegebene Feldwert des ersten Datensatzes in der Eingabe wird verwendet.
  • LAST: Der angegebene Feldwert des letzten Datensatzes in der Eingabe wird verwendet.
  • MEDIAN: Der Medianwert aller Datensätze des angegebenen Feldes wird berechnet.
  • VARIANCE: Die Varianz aller Datensätze des angegebenen Feldes wird berechnet.
  • UNIQUE: Die Anzahl der Einzelwerte für das angegebene Feld wird gezählt.
  • CONCATENATE: Die Werte für das angegebene Feld werden verbunden. Die Werte können mit dem Parameter concatenation_separator getrennt werden.
Value Table
case_field
[case_field,...]
(optional)

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

Field
concatenation_separator
(optional)

Zeichen, die zum Verbinden von Werten verwendet werden, wenn die Option CONCATENATION für den Parameter statistics_fields verwendet wird.

String

Codebeispiel

Statistics: Beispiel (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion Statistics im unmittelbaren Modus verwendet wird.

import arcpy
arcpy.env.workspace = "C:/data/Habitat_Analysis.gdb"
arcpy.analysis.Statistics("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"]]

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

In folgendem Skript wird ein pandas-DataFrame verwendet, um auf die tabellarischen Ergebnisse der Funktion 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.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)

Lizenzinformationen

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

Verwandte Themen