Résumé
Convertit une table en tableau structuré NumPy.
Discussion
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.
Pour convertir des classes d'entités en tableau NumPy, utilisez plutôt la fonction FeatureClassToNumPyArray.
Syntaxe
TableToNumPyArray (in_table, field_names, {where_clause}, {skip_nulls}, {null_value})
Paramètre | Explication | Type de données |
in_table | Classe d'entités, couche, table ou vue tabulaire. | String |
field_names [field_names,...] | Liste (ou tuple) de noms de champs. Pour un champ unique, vous pouvez utiliser une chaîne de caractères au lieu d'une liste de chaînes. Utilisez un astérisque (*) au lieu d'une liste de champs si vous voulez accéder à tous les champs de la table d'entrée (les champs raster et BLOB sont exclus). Toutefois, pour obtenir des performances plus rapides et un ordre des champs fiable, il est recommandé de limiter la liste des champs à ceux qui sont réellement nécessaires. Les champs raster et BLOB ne sont pas pris en charge. Les objets géométrie ne sont pas pris en charge par le jeton SHAPE@, mais des informations géométriques peuvent être incluses à l'aide d'autres jetons tels que SHAPE@XY (tuple des coordonnées du centroïde de l'entité), SHAPE@AREA et SHAPE@LENGTH. Il est possible d'accéder à des informations supplémentaires en utilisant des jetons (tels que OID@) à la place des noms de champs :
(La valeur par défaut est *) | String |
where_clause | Expression optionnelle qui limite les enregistrements retournés. Pour en savoir plus sur les clauses WHERE et les instructions SQL, consultez Construction d'une expression de la requête. (La valeur par défaut est "") | String |
skip_nulls | Contrôler si les enregistrements utilisant des valeurs nulles sont ignorés. Il peut s'agir d'une valeur booléenne True ou False, d'une fonction Python ou d'une expression lambda. Lorsque ce paramètre est défini sur True, si l'un des attributs de l'enregistrement a une valeur nulle (y compris la géométrie), l'enregistrement est ignoré. Avec un paramètre False, skip_nulls tente d'utiliser tous les enregistrements sans tenir compte des valeurs nulles. Dans un tableau NumPy, une valeur nulle est représentée par un nan (not a number) pour les valeurs numériques en virgule flottante, mais pas pour les nombres entiers. Voici un exemple d'omission de tous les enregistrements comportant une valeur nulle.
Une fonction Python ou une expression lambda peut être utilisée pour permettre un contrôle plus fin, notamment en enregistrant les valeurs OID de tous les enregistrements qui comportent une valeur nulle. Dans les deux exemples ci-dessous, l'expression ou la fonction lambda est utilisée pour identifier les OID qui comprennent des enregistrements nuls. Utilisez une fonction pour capturer tous les enregistrements qui sont ignorés en raison de valeur nulles.
Utilisez une expression lambda pour capturer tous les enregistrements qui sont ignorés en raison de valeur nulles.
(La valeur par défaut est False) | Variant |
null_value | Remplace les valeurs nulles de l'entrée par une nouvelle valeur. null_value est remplacé avant que skip_nulls soit évalué. Mask None values in integer fields with a -9999.
Mask None values in integer fields with different values using a dictionary.
(La valeur par défaut est None) | Integer |
Valeur renvoyée
Type de données | Explication |
NumPyArray | Tableau structuré NumPy |
Exemple de code
Exemple 1 d'utilisation de la fonction TableToNumPyArray
Convertir une table en tableau NumPy et effectuer certains calculs statistiques de base avec 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())
Exemple 2 d'utilisation de la fonction TableToNumPyArray
Utilisez la fonction TableToNumPyArray pour déterminer les coefficients de corrélation pour deux champs.
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])))