Etiqueta | Explicación | Tipo de datos |
Tabla de entrada | La tabla de entrada que contiene los campos que se utilizarán para calcular las estadísticas. | Table View; Raster Layer |
Tabla de Salida | La tabla de salida que almacenará las estadísticas calculadas. | Table |
Campos de estadísticas | Especifica el o los campos que contienen los valores de los atributos que se utilizarán para calcular la estadística especificada. Se pueden especificar varias estadísticas y combinaciones de campos. Los valores nulos se excluyen de todos los cálculos. Los campos de atributo numérico se pueden resumir con cualquier estadística. Los campos de atributo Texto se pueden resumir con las estadísticas mínimo, máximo, recuento, primero, último, único, concatenar y modo. Los campos de atributo Fecha, Solo fecha y Desfase horario solamente se pueden resumir con las estadísticas media, mínimo, máximo, recuento, primero, último, único y concatenar. Los tipos de estadísticas DBMS solo son compatibles con las fuentes de datos de geodatabase de entrada, incluidas las geodatabases corporativas, los servicios de entidades, los almacenes de datos en la nube y las geodatabases SQLite.
| Value Table |
Campo de caso (Opcional) | El campo o los campos de la entrada que se utilizarán para calcular las estadísticas para cada valor de atributo único por separado (o para una combinación de valores de atributos cuando se especifican varios campos). | Field |
Separador de concatenación (Opcional) | Un carácter o caracteres que se utilizarán para concatenar valores cuando se utilice la opción Concatenación para el parámetro Campos de estadísticas. De forma predeterminada, la herramienta concatenará los valores sin separador. | String |
Resumen
Calcula las estadísticas de resumen para los campos de una tabla.
Uso
La salida constará de campos que contienen el resultado de las operaciones estadísticas.
Con esta herramienta están disponibles las siguientes operaciones estadísticas: suma, valor medio, mínimo, máximo, rango, desviación estándar, recuento, primero, último, mediana, varianza, concatenar y modo.
Si se especifica el parámetro Campos de caso, se calcularán estadísticas para cada conjunto único de valores de campo. La tabla de salida incluirá un registro para cada conjunto único de valores de campo. Si no se especifica el parámetro Campos de caso, se calcularán estadísticas para todos los registros de entrada. La tabla de salida contendrá un solo registro.
El campo de salida Frequency es el recuento de todos los registros de entrada representados por el conjunto único de valores de campo. Si no se especifica el parámetro Campos de caso, será un recuento de todos los registros de entrada.
Se creará un campo para cada tipo estadístico utilizando el siguiente formato de nombre: 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> y DBMS_VARIANCE_<field>, donde <field> es el nombre del campo de entrada para el que se calculan las estadísticas. El nombre del campo se trunca a 10 caracteres cuando la tabla de salida es una tabla dBASE.
Utilice los tipos de estadística DBMS para procesar las estadísticas directamente en la base de datos o en el servicio en lugar de en el cliente. Los tipos de estadísticas DBMS solo son compatibles con las fuentes de datos de geodatabase de entrada, incluidas las geodatabases corporativas, los servicios de entidades, los almacenes de datos en la nube, GeoPackage y las geodatabases SQLite.
Los tipos de estadísticas DBMS no admiten la salida dBASE.
Los valores nulos se excluyen de todos los cálculos estadísticos. Por ejemplo, el promedio de 6, 4 y un valor nulo es 5 ((6+4)/2).
Al utilizar capas, solo se utilizarán las entidades seleccionadas en este momento para calcular estadísticas.
Parámetros
arcpy.analysis.Statistics(in_table, out_table, statistics_fields, {case_field}, {concatenation_separator})
Nombre | Explicación | Tipo de datos |
in_table | La tabla de entrada que contiene los campos que se utilizarán para calcular las estadísticas. | Table View; Raster Layer |
out_table | La tabla de salida que almacenará las estadísticas calculadas. | Table |
statistics_fields [[field, {statistic_type}],...] | Especifica el o los campos que contienen los valores de los atributos que se utilizarán para calcular la estadística especificada. Se pueden especificar varias estadísticas y combinaciones de campos. Los valores nulos se excluyen de todos los cálculos. Los campos de atributo numérico se pueden resumir con cualquier estadística. Los campos de atributo Texto se pueden resumir con las estadísticas mínimo, máximo, recuento, primero, último, único, concatenar y modo. Los campos de atributo Fecha, Solo fecha y Desfase horario solamente se pueden resumir con las estadísticas media, mínimo, máximo, recuento, primero, último, único y concatenar. Los tipos de estadísticas DBMS solo son compatibles con las fuentes de datos de geodatabase de entrada, incluidas las geodatabases corporativas, los servicios de entidades, los almacenes de datos en la nube y las geodatabases SQLite.
| Value Table |
case_field [case_field,...] (Opcional) | El campo o los campos de la entrada que se utilizarán para calcular las estadísticas para cada valor de atributo único por separado (o para una combinación de valores de atributos cuando se especifican varios campos). | Field |
concatenation_separator (Opcional) | Un carácter o caracteres que se utilizarán para concatenar valores cuando se utilice la opción CONCATENATION para el parámetro statistics_fields. De forma predeterminada, la herramienta concatenará los valores sin separador. | String |
Muestra de código
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función Statistics de modo inmediato.
import arcpy
arcpy.env.workspace = "C:/data/Habitat_Analysis.gdb"
arcpy.analysis.Statistics("futrds", "C:/output/output.gdb/stats", [["Shape_Length", "SUM"]], "NM")
El siguiente script independiente resume la vegetación según el área dentro de un radio de 150 pies de las carreteras 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)
El siguiente script independiente recorre los campos de atributos de un dataset y genera el parámetro statistics_fields de modo que se calcule la estadística de SUM para cada campo numérico.
# 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)
El siguiente script utiliza pandas DataFrame para acceder a los resultados tabulados de la función Statistics y mostrar estos resultados.
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)
Entornos
Casos especiales
- Zona horaria
El tipo de estadística media en un campo de desfase de marca de tiempo utilizará el desfase de zona horaria de este entorno.
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí