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

    Precaución:

    Esta herramienta modifica los datos de entrada. Consulte Herramientas que modifican o actualizan los datos de entrada para obtener más información y estrategias para evitar cambios de datos no deseados.

  • 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 cinco 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 espera un número específico de clases. Por ejemplo, desea reclasificar la temperatura en exactamente cinco 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.
    • Cuantil: las clases incluyen un número igual de valores en cada uno de los valores especificados para el parámetroNúmero de clases. Por ejemplo, si hay 50 valores y el número de clases es cinco, 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. Puede obtener el rango de cada clase a partir de otros métodos de clasificación que utilizan muestreo, como la simbología graduada.

  • La herramienta crea 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.

Parámetros

EtiquetaExplicaciónTipo de datos
Tabla de entrada

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

Table View; Raster Layer; Mosaic Layer
Campo a reclasificar

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

Field
Método de reclasificación
(Opcional)

Especifica el método de reclasificación que se utilizará para los valores de campo en el valor del parámetro Campo a reclasificar.

  • Intervalo definidoSe crearán clases con el mismo rango de clases a lo largo del intervalo de los valores del campo que se va a reclasificar.
  • Intervalo equivalenteSe crearán clases con rangos de clase equivalentes divididos en un número especificado de clases. Esta es la opción predeterminada.
  • Intervalo geométricoSe crearán clases con rangos de clases crecientes o decrecientes geométricamente en un número especificado de clases.
  • Intervalo manualLas rupturas de clase y los valores reclasificados se especificarán manualmente.
  • Rupturas naturales (Jenks)Se crearán clases de agrupaciones naturales en los datos utilizando el algoritmo de rupturas naturales de Jenks.
  • CuantilSe crearán clases en las que cada clase incluye el mismo número de valores.
  • Desviación estándarSe crearán clases sumando y restando una fracción de la desviación estándar por encima y por debajo del valor medio.
  • Valores únicosSe crearán clases en las que cada valor único del campo se convierte en una clase.
String
Cantidad de clases
(Opcional)

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

Long
Tamaño del intervalo
(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 1.000.

Double
Número de desviaciones estándar
(Opcional)

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

  • Una desviación estándarLos intervalos se crearán utilizando una desviación estándar. Esta es la opción predeterminada.
  • Media desviación estándarLos intervalos se crearán utilizando media desviación estándar.
  • Tercio de desviación estándarLos intervalos se crearán utilizando un tercio de una desviación estándar.
  • Cuarto de desviación estándarLos intervalos se crearán utilizando un cuarto de una desviación estándar.
String
Tabla de reclasificación
(Opcional)

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

Value Table
Invertir valores (descendente)
(Opcional)

Especifica cómo se ordenarán los valores reclasificados.

  • Activado: a las clases se les asignarán 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.
  • Desactivado: a las clases se les asignarán 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
Nombre de campo de salida
(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

EtiquetaExplicaciónTipo de datos
Tabla de entrada actualizada

La tabla actualizada que contiene los campos reclasificados.

Table View

arcpy.management.ReclassifyField(in_table, field, {method}, {classes}, {interval}, {standard_deviations}, {reclass_table}, {reverse_values}, {output_field_name})
NombreExplicació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 reclasificará. El campo debe ser numérico o de texto.

Field
method
(Opcional)

Especifica el método de reclasificación que se utilizará para los valores de campo en el valor del parámetro field.

  • DEFINED_INTERVALSe crearán clases con el mismo rango de clases a lo largo del intervalo de los valores del campo que se va a reclasificar.
  • EQUAL_INTERVALSe crearán clases con rangos de clase equivalentes divididos en un número especificado de clases. Esta es la opción predeterminada.
  • GEOMETRIC_INTERVALSe crearán clases con rangos de clases crecientes o decrecientes geométricamente en un número especificado de clases.
  • MANUALLas rupturas de clase y los valores reclasificados se especificarán manualmente.
  • NATURAL_BREAKSSe crearán clases de agrupaciones naturales en los datos utilizando el algoritmo de rupturas naturales de Jenks.
  • QUANTILESe crearán clases en las que cada clase incluye el mismo número de valores.
  • STANDARD_DEVIATIONSe crearán clases sumando y restando una fracción de la desviación estándar por encima y por debajo del valor medio.
  • UNIQUE_VALUESSe crearán clases en las que 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 1.000.

Double
standard_deviations
(Opcional)

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

  • ONELos intervalos se crearán utilizando una desviación estándar. Esta es la opción predeterminada.
  • HALFLos intervalos se crearán utilizando media desviación estándar.
  • THIRDLos intervalos se crearán utilizando un tercio de una desviación estándar.
  • QUARTERLos intervalos se crearán utilizando un cuarto de una 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 asignarán 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 asignarán 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.

Table View

Muestra de código

Ejemplo 1 de ReclassifyField (ventana de Python)

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


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

El siguiente script independiente de Python muestra cómo utilizar la función 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())

Entornos