Beschriftung | Erläuterung | Datentyp |
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 | Gibt das Feld oder die 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. Numerische Attributfelder können mit jeder beliebigen Statistik zusammengefasst werden. Text-Attributfelder können nur mit den Statistiken "Minimum", "Maximum", "Anzahl", "Erster", "Letzter", "Eindeutig", "Verbinden" und "Modus" (Modalwert) zusammengefasst werden. Attributfelder vom Typ "Datum", "Nur Datum" und "Zeitstempelversatz" können nur mit den Statistiken "Mittelwert", "Minimum", "Maximum", "Anzahl", "Erster", "Letzter", "Eindeutig" und "Verbinden" zusammengefasst werden. Die DBMS-Statistiktypen werden nur für Geodatabase-Eingabedatenquellen unterstützt wie z. B. Enterprise-Geodatabases, Feature-Services, Cloud Data Warehouses und SQLite-Geodatabases.
| Value Table |
Untersuchungsfelder (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. Standardmäßig verbindet das Werkzeug Werte ohne Trennzeichen. | String |
Zusammenfassung
Berechnet die Summenstatistiken für Felder einer Tabelle.
Verwendung
Die Ausgabe enthält Felder mit den Ergebnissen der statistischen Operationen.
Mit diesem Werkzeug sind folgende statistische Operationen möglich: Summe, Mittelwert, Minimum, Maximum, Bereich, Standardabweichung, Anzahl, Erste(r), Letzte(r), Medianwert, Varianz, Eindeutig, Verbinden und Modus (Modalwert).
Wenn der Parameter Untersuchungsfelder angegeben wurde, werden für jeden eindeutigen Feldwertsatz Statistiken berechnet. Die Ausgabetabelle enthält einen Datensatz für jeden eindeutigen Feldwertsatz. Wenn der Parameter Untersuchungsfelder nicht angegeben wird, werden für alle Eingabedatensätze Statistiken berechnet. Die Ausgabetabelle enthält einen einzelnen Datensatz.
Das Ausgabefeld Frequency gibt die Anzahl der Eingabedatensätze an, die durch den eindeutigen Feldwertsatz dargestellt werden. Wenn der Parameter Untersuchungsfelder nicht angegeben wird, gibt es die Anzahl aller Eingabedatensätze an.
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>, CONCATENATE_<field>, DBMS_SUM_<field>, DBMS_MEAN_<field>, DBMS_MIN_<field>, DBMS_MAX_<field>, DBMS_STD_<field>, DBMS_COUNT_<field>, DBMS_MEDIAN_<field> und DBMS_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.
Verwenden Sie die DBMS-Statistiktypen, um die Statistiken direkt in der Datenbank oder im Service zu verarbeiten statt auf dem Client. Die DBMS-Statistiktypen werden nur für Geodatabase-Eingabedatenquellen unterstützt wie z. B. Enterprise-Geodatabases, Feature-Services, Cloud Data Warehouses, GeoPackages und SQLite-Geodatabases.
Die DBMS-Statistiktypen unterstützen keine dBASE-Ausgabe.
NULL-Werte sind von allen statistischen Berechnungen ausgeschlossen. Beispiel: Der Durchschnittswert von 6, 4 und einem NULL-Wert ist 5 ((6+4)/2).
Wenn Sie Layer verwenden, werden nur die aktuell ausgewählten Features zum Berechnen von Statistiken verwendet.
Parameter
arcpy.analysis.Statistics(in_table, out_table, statistics_fields, {case_field}, {concatenation_separator})
Name | Erläuterung | Datentyp |
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}],...] | Gibt das Feld oder die 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. Numerische Attributfelder können mit jeder beliebigen Statistik zusammengefasst werden. Text-Attributfelder können nur mit den Statistiken "Minimum", "Maximum", "Anzahl", "Erster", "Letzter", "Eindeutig", "Verbinden" und "Modus" (Modalwert) zusammengefasst werden. Attributfelder vom Typ "Datum", "Nur Datum" und "Zeitstempelversatz" können nur mit den Statistiken "Mittelwert", "Minimum", "Maximum", "Anzahl", "Erster", "Letzter", "Eindeutig" und "Verbinden" zusammengefasst werden. Die DBMS-Statistiktypen werden nur für Geodatabase-Eingabedatenquellen unterstützt wie z. B. Enterprise-Geodatabases, Feature-Services, Cloud Data Warehouses und SQLite-Geodatabases.
| 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. Standardmäßig verbindet das Werkzeug Werte ohne Trennzeichen. | String |
Codebeispiel
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")
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)
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)
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)
Umgebungen
Sonderfälle
- Zeitzone
Der Statistiktyp "Mittelwert" im Feldtyp "Zeitstempelversatz" verwendet den Zeitzonenversatz dieser Umgebung.
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja