Reclasificar campo (Administración de datos)

Resumen

Reclasifica valores de un campo numérico o de texto en clases en función de unos límites definidos manualmente o utilizando un método de reclasificación.

Ilustración

Ilustración de la herramienta Reclasificar campo
Una variable continua se reclasifica en clases discretas con intervalos iguales.

Uso

  • Esta herramienta acepta clases de entidad o vistas de tabla como entrada y modifica los datos de entrada.

  • La herramienta admite los siguientes ocho métodos de reclasificación:

    • Intervalo definido: cada clase abarcará el rango del valor del parámetro Tamaño del intervalo, empezando por el valor mínimo del campo. Por ejemplo, si el tamaño del intervalo es 10 y el valor mínimo es 244, la primera clase incluirá los valores entre 244 y 254. Este método se recomienda si se necesita un tamaño de intervalo determinado, por ejemplo, cuando se reclasifican valores de temperatura utilizando un rango de 10 grados.
    • Intervalo equivalente: cada clase tendrá el mismo rango y el valor del parámetro Número de clases definirá el tamaño del rango. Por ejemplo, si el número de clases es 5 y el rango es de 0 a 100, la primera clase incluirá los valores entre 0 y 20. De forma similar a Intervalo definido, se recomienda este método si los intervalos son significativos y también si se desea un número específico de clases. Por ejemplo, desea reclasificar la temperatura en exactamente 5 clases de rango equivalente.
    • Intervalo geométrico: el rango de cada clase aumenta o disminuye geométricamente (permitiendo cambiar la dirección una vez), definido por el parámetro Número de clases. Este método intenta encontrar agrupaciones naturales en los datos mientras mantiene los rangos de clase aproximadamente iguales.
    • Intervalo manual: los límites superiores y el valor reclasificado de cada clase se especifican en el parámetro Tabla de reclasificación. El valor reclasificado puede ser numérico o de texto y creará un campo de salida del mismo tipo. Si se proporcionan tanto texto como números para los valores reclasificados, el campo de salida será de texto. Este método puede ser útil cuando ninguna de las rupturas de clase de los otros métodos es adecuada, o si desea etiquetar las clases con texto en lugar de enteros.
    • Rupturas naturales (Jenks): se crean rupturas de clase en torno a agrupaciones naturales de los datos con el algoritmo Rupturas naturales de Jenks definido por el parámetro Número de clases. Este método agrupa valores similares y maximiza las diferencias entre clases. Este método es útil cuando los datos no presentan intervalos significativos y desea encontrar las agrupaciones óptimas. Por ejemplo, el recuento de población por ciudades puede tener agrupaciones naturales.
      • Referencia: Jenks, G., Caspall, F. C. (1971). "Error on choroplethic maps: Definition, measurement, reduction." Annals of American Geographers, 61, 217-44
    • Cuantil: las clases incluyen un número igual de valores en cada uno de los valores especificados para el parámetro Número de clases. Por ejemplo, si hay 50 valores y el número de clases es 5, cada clase tendrá 10 registros. Este método es útil cuando desea comprender dónde queda cada valor en los valores clasificados. Por ejemplo, desea comprender en qué ubicaciones quedan los ingresos medios anuales en los cuantiles primero y último de entre 10 cuantiles.
    • Desviación estándar: se crean rangos de clases utilizando una cantidad de desviaciones estándar por encima y por debajo de la media, especificadas en el parámetro Número de desviaciones estándar. Esto resulta útil para comprender dónde residen los valores en una distribución. Por ejemplo, puede reclasificar las precipitaciones mediante una desviación estándar para identificar las áreas con precipitaciones mayores que dos desviaciones estándar del valor medio.
    • Valores únicos: cada valor único de un campo de texto se convierte en una clase. Esto puede ser útil si necesita utilizar categorías de un campo de texto en una herramienta que requiera un campo numérico. Por ejemplo, desea convertir códigos de condado alfanuméricos en enteros.

  • Al elegir el método de clasificación, tenga en cuenta el tipo de datos y cómo va a utilizar los valores reclasificados. No todos los métodos se pueden utilizar para todas las aplicaciones. Por ejemplo, para reclasificar más de un campo y utilizarlos juntos en flujos de trabajo de análisis, utilice una técnica que sea coherente entre los datos, como cuantiles, en lugar de una que varíe, como rupturas naturales (Jenks).

  • Al marcar el parámetro Invertir valores (descendente) (reverse_values = "DESC" en Python), se invertirán las clases de enteros de modo que la clase con los valores más bajos se reclasifique como la clase más alta.

  • El método de reclasificación de cuantiles crea clases en las que cada clase contiene el mismo número de registros. Sin embargo, si el valor del parámetro Número de clases no se divide equitativamente entre el número de registros, el resto se dividirá entre cada clase en orden ascendente.

  • Para el método de intervalo manual, al menos uno de los valores de límite superior especificados debe ser mayor que el valor mínimo del campo que se va a reclasificar. Cualquier valor del campo que sea mayor que el límite superior máximo especificado se reclasificará como -9.999.

  • Para el método de intervalo definido, el valor del parámetro Tamaño del intervalo debe ser lo suficientemente pequeño como para que se creen al menos tres clases.

  • Ninguno de los métodos de reclasificación utiliza esquemas de muestreo. Es posible obtener el rango de cada clase a partir de otros métodos de clasificación que utilizan muestreo, como la simbología graduada.

  • Las herramientas crean campos que representan la clase y el rango de cada registro, que tienen como prefijo el valor del parámetro Nombre de campo de salida. El campo de clase es un campo entero ascendente o descendente, y el campo de rango muestra el rango de valores para cada campo. Si el campo que se va a reclasificar es un campo de texto, solo se creará el campo de clase. Si el método de reclasificación es manual y no se especifican valores reclasificados, solo se creará el campo de rango.

  • Aparece una tabla de reclasificación en los mensajes de geoprocesamiento que muestra el límite superior y el valor reclasificado de cada clase.

Sintaxis

arcpy.management.ReclassifyField(in_table, field, {method}, {classes}, {interval}, {standard_deviations}, {reclass_table}, {reverse_values}, {output_field_name})
ParámetroExplicaciónTipo de datos
in_table

La tabla o clase de entidad de entrada que contiene el campo que se va a reclasificar.

Table View; Raster Layer; Mosaic Layer
field

El campo que se va a reclasificar. El campo debe ser numérico o de texto.

Field
method
(Opcional)

Especifica cómo se incluyen los valores del campo especificado en el parámetro Campo a reclasificar.

  • DEFINED_INTERVAL Crea clases con el mismo rango de clases a lo largo del intervalo de los valores del campo que se va a reclasificar.
  • EQUAL_INTERVALCrea clases con rangos de clase equivalentes divididos en un número especificado de clases. Esta es la opción predeterminada.
  • GEOMETRIC_INTERVALCrea clases con rangos de clases crecientes o decrecientes geométricamente en un número especificado de clases.
  • MANUAL Las rupturas de clase y los valores reclasificados se especifican manualmente.
  • NATURAL_BREAKS Crea clases de agrupaciones naturales en los datos utilizando el algoritmo de rupturas naturales de Jenks.
  • QUANTILE Crea clases donde cada clase incluye un número igual de valores.
  • STANDARD_DEVIATION Crea clases sumando y restando una fracción de la desviación estándar por encima y por debajo del valor medio.
  • UNIQUE_VALUESCrea clases donde cada valor único del campo se convierte en una clase.
String
classes
(Opcional)

El número objetivo de clases en el campo reclasificado. El número máximo de clases es 256.

Long
interval
(Opcional)

El tamaño del intervalo de clase para el campo reclasificado. El valor proporcionado debe resultar en al menos 3 clases y no más de 1000.

Double
standard_deviations
(Opcional)

Especifica el número de desviaciones estándar para el campo reclasificado. Las rupturas y categorías de clase se crean con rangos de intervalos equivalentes que son una proporción de la desviación estándar del valor medio.

  • ONELos intervalos se crean utilizando una desviación estándar. Esta es la opción predeterminada.
  • HALFLos intervalos se crean utilizando media desviación estándar.
  • THIRDLos intervalos se crean utilizando un tercio de desviación estándar.
  • QUARTERLos intervalos se crean utilizando un cuarto de desviación estándar.
String
reclass_table
[reclass_table,...]
(Opcional)

El límite superior y el valor reclasificado para el método de reclasificación manual.

Value Table
reverse_values
(Opcional)

Especifica el orden de los valores reclasificados.

  • DESCA las clases se les asignan valores en orden descendente; a la clase con los valores más altos se le asigna 1, a la siguiente clase más alta se le asigna 2, y así sucesivamente.
  • ASCA las clases se les asignan valores en orden ascendente; a la clase con los valores más bajos se le asigna 1, a la siguiente clase más baja se le asigna 2, y así sucesivamente. Esta es la opción predeterminada.
Boolean
output_field_name
(Opcional)

El nombre o prefijo del campo de salida. Si el campo que se va a reclasificar es un campo numérico, se crearán dos campos y este nombre prefijará los nombres de campo. Si el campo que se va a reclasificar es un campo de texto, se creará un nuevo campo con este nombre.

String

Salida derivada

NombreExplicaciónTipo de datos
updated_table

La tabla actualizada que contiene los campos reclasificados.

Vista de tabla

Muestra de código

Ejemplo 1 de ReclassifyField (ventana de Python)

El siguiente script de la ventana de Python muestra cómo utilizar la herramienta ReclassifyField.

arcpy.management.ReclassifyField("Demographics", "Population", 
      "EQUAL_INTERVAL", 10, None, "", None, None, "Population_EQUAL_INTERVAL")
Ejemplo 2 de ReclassifyField (script independiente)

El siguiente script de Phython independiente muestra cómo utilizar la herramienta ReclassifyField.

# Import system modules.
import arcpy
try:
    # Set the workspace and input features.
    arcpy.env.workspace = r"C:\\Reclassify\\MyData.gdb"
    in_table = "Demographics"
    # Set the input field that will be reclassified
    field = "Population"
    # Set the reclassification method
    method = "MANUAL"
    # Set the reclassification table
    reclass_table = "10000 Village;100000 Town;1000000 City"
    # Set the output field name
    output_field_name = "SettlementType"
    # Run the Reclassify Field tool
    arcpy.management.ReclassifyField(in_table, field, method, "", 
          None, "", reclass_Table, None, output_field_name)
except arcpy.ExecuteError:
    # If an error occurred when running the tool, print the error message.
    print(arcpy.GetMessages())

Información de licenciamiento

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

Temas relacionados