Resumen de estadísticas (Análisis)

Resumen

Calcula las estadísticas de resumen para los campos de una tabla.

Uso

  • El valor de Tabla de salida constará de campos que contienen el resultado de la operación estadística.

  • 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 y único.

  • 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> y CONCATENATE_<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.

  • Si se especifica un valor para parámetro Campo de caso, se calcularán estadísticas por separado para cada valor de atributo único y habrá un registro por cada valor de Campo de caso único. El valor del parámetro Tabla de salida contendrá solo un registro si no se especifica ningún valor para el parámetro Campo de caso.

  • Los valores nulos se excluyen de todos los cálculos estadísticos. Por ejemplo, el promedio de 10, 5 y valor nulo es 7,5 ((10+5)/2).

  • Al utilizar capas, solo se utilizarán las entidades seleccionadas en este momento para calcular estadísticas.

Parámetros

EtiquetaExplicaciónTipo 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
(Opcional)

Especifica el campo o los campos numéricos que contienen los valores de atributo 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 de texto se pueden resumir con las estadísticas FIRST y LAST. Los campos de atributo numérico se pueden resumir con cualquier estadística.

Los tipos de estadísticas disponibles son los siguientes:

  • Suma: se sumarán los valores del campo especificado.
  • Valor medio: se calculará el valor medio del campo especificado.
  • Mínimo: se encontrará el valor más pequeño de todos los registros del campo especificado.
  • Máximo: se encontrará el valor más grande de todos los registros del campo especificado.
  • Rango: se calculará el rango de valores (máximo menos mínimo) para el campo especificado.
  • Desviación estándar: se calculará la desviación estándar de los valores del campo especificado.
  • Recuento: se encontrará la cantidad de valores incluidos en los cálculos. Cada valor se contará excepto los valores nulos. Para determinar el número de valores nulos de un campo, cree un recuento del campo en cuestión, cree un recuento de otro campo que no contenga valores nulos (por ejemplo, OID si está presente) y reste los dos valores.
  • Primero: se utilizará el valor de campo especificado del primer registro de la entrada.
  • Último: se utilizará el valor de campo especificado del último registro de la entrada.
  • Mediana: se calculará la mediana de todos los registros del campo especificado.
  • Varianza: se calculará la varianza de todos los registros del campo especificado.
  • Único: se contará el número de valores únicos del campo especificado.
  • Concatenar: se concatenarán los valores del campo especificado. Los valores se pueden separar con el parámetro Separador de concatenación.
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.

String

arcpy.analysis.Statistics(in_table, out_table, {statistics_fields}, {case_field}, {concatenation_separator})
NombreExplicaciónTipo 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}],...]
(Opcional)

Especifica el campo o los campos numéricos que contienen los valores de atributo 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 de texto se pueden resumir con las estadísticas FIRST y LAST. Los campos de atributo numérico se pueden resumir con cualquier estadística.

Los tipos de estadísticas disponibles son los siguientes:

  • SUM: se sumarán los valores del campo especificado.
  • MEAN: se calculará el valor medio del campo especificado.
  • MIN: se encontrará el valor más pequeño de todos los registros del campo especificado.
  • MAX: se encontrará el valor más grande de todos los registros del campo especificado.
  • RANGE: se calculará el rango de valores (máximo menos mínimo) para el campo especificado.
  • STD: se calculará la desviación estándar de los valores del campo especificado.
  • COUNT: se encontrará la cantidad de valores incluidos en los cálculos. Cada valor se contará excepto los valores nulos. Para determinar el número de valores nulos de un campo, cree un recuento del campo en cuestión, cree un recuento de otro campo que no contenga valores nulos (por ejemplo, OID si está presente) y reste los dos valores.
  • FIRST: se utilizará el valor de campo especificado del primer registro de la entrada.
  • LAST: se utilizará el valor de campo especificado del último registro de la entrada.
  • MEDIAN: se calculará la mediana de todos los registros del campo especificado.
  • VARIANCE: se calculará la varianza de todos los registros del campo especificado.
  • UNIQUE: se contará el número de valores únicos del campo especificado.
  • CONCATENATE: se concatenarán los valores del campo especificado. Los valores se pueden separar con el parámetro concatenation_separator.
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.

String

Muestra de código

Ejemplo de Estadísticas (ventana de Python)

El siguiente script de la ventana de Python demuestra 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")
Ejemplo 2 de Estadísticas (script independiente)

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)
Ejemplo 3 de Statistics (script independiente)

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)
Ejemplo 4 de Estadísticas (script independiente)

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)

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados