Resumen
Convierte una tabla en una matriz estructurada NumPy.
Debate
NumPy is a fundamental package for scientific computing in Python, including support for a powerful N-dimensional array object. For more information, see Working with NumPy in ArcGIS.
Para convertir clases de entidad en una matriz NumPy, use la función FeatureClassToNumPyArray en su lugar.
Sintaxis
TableToNumPyArray (in_table, field_names, {where_clause}, {skip_nulls}, {null_value})
Parámetro | Explicación | Tipo de datos |
in_table | La clase de entidad, capa, tabla o vista de tabla. | String |
field_names [field_names,...] | Una lista (o tupla) de nombres de campo. Para un único campo, puede utilizar una cadena en lugar de una lista de cadenas. Use un asterisco (*) en lugar de una lista de campos si desea acceder a todos los campos desde la tabla de entrada (se excluyen los campos ráster y BLOB). Sin embargo, para un rendimiento más rápido y un orden de campo fiable, se recomienda que la lista de campos se acote a solo aquellos que se necesitan realmente. Los campos ráster y BLOB no se admiten. Los objetos de geometría no se admiten con el token SHAPE@, pero se puede incluir información de geometría con otros tokens como SHAPE@XY (tupla de las coordenadas del centroide de la entidad), SHAPE@AREA y SHAPE@LENGTH. Es posible acceder a información adicional con tokens (como OID@) en lugar de nombres de campo:
(El valor predeterminado es *) | String |
where_clause | Una expresión opcional que limita los registros que se devuelven. Para obtener más información sobre las cláusulas WHERE y sentencias SQL, consulte Crear una expresión de consulta. (El valor predeterminado es "") | String |
skip_nulls | Controle si se omiten los registros que utilizan valores nulos. Puede ser un True booleano o False, o una función de Python o expresión lambda. Cuando se define como True, si alguno de los atributos del registro es nulo (incluida la geometría), el registro se omite. Con una configuración False, skip_nulls intenta utilizar todos los registros con independencia de los valores nulos. En una matriz NumPy, un valor nulo se representa como NaN (no es un número) para valores numéricos de punto flotante, pero no para enteros. A continuación, se muestra un ejemplo de omisión de todos los registros que incluyen valores nulos.
Una función de Python o expresión lambda se puede utilizar para permitir un control más preciso, incluido el cargar valores de OID para todos los registros que incluyan un valor nulo. En los siguientes dos ejemplos, la función o expresión lambda se utiliza para identificar OID que incluyen registros nulos. Use una función para capturar todos los registros que se omiten debido a los valores nulos.
Use una expresión lambda para capturar todos los registros que se omiten debido a los valores nulos.
(El valor predeterminado es False) | Variant |
null_value | Los valores nulos se sustituyen de la entrada por un valor nuevo. null_value se sustituya antes de evaluar skip_nulls. Mask None values in integer fields with a -9999.
Mask None values in integer fields with different values using a dictionary.
(El valor predeterminado es None) | Integer |
Valor de retorno
Tipo de datos | Explicación |
NumPyArray | Una matriz estructurada NumPy. |
Muestra de código
Ejemplo 1 de TableToNumPyArray
Convierta una tabla en una matriz NumPy y realice algunas estadísticas básicas con NumPy.
import arcpy
import numpy
input = "c:/data/usa.gdb/USA/counties"
arr = arcpy.da.TableToNumPyArray(input, ('STATE_NAME', 'POP1990', 'POP2000'))
# Sum the total population for 1990 and 2000
#
print(arr["POP1990"].sum())
print(arr["POP2000"].sum())
# Sum the population for the state of Minnesota
#
print(arr[arr['STATE_NAME'] == "Minnesota"]['POP2000'].sum())
Ejemplo 2 de TableToNumPyArray
Use TableToNumPyArray para determinar los coeficientes de correlación para dos campos.
import arcpy
import numpy
input = arcpy.GetParameterAsText(0)
field1 = arcpy.GetParameterAsText(1)
field2 = arcpy.GetParameterAsText(2)
arr = arcpy.da.TableToNumPyArray(input, (field1, field2))
# Print correlation coefficients for comparison of 2 field values
#
print(numpy.corrcoef((arr[field1], arr[field2])))