Résumé
Convertit des valeurs de catégorie (chaîne, entier ou date) en plusieurs champs numériques représentant chacun une catégorie. Les champs numériques encodés peuvent être utilisés dans la plupart des processus de science des données et statistiques, y compris les modèles de régression.
Illustration
Utilisation
Cet outil prend en charge les méthodes d’encodage suivantes :
- One-hot : convertit chaque valeur de catégorie en une nouvelle colonne et affecte la valeur 0 ou 1, où 1 indique la présence de cette valeur de catégorie.
- One-cold : convertit chaque valeur de catégorie en une nouvelle colonne et affecte la valeur 0 ou 1, où 0 indique la présence de cette valeur de catégorie.
- Temporal (Temporelle) : convertit chaque valeur de date du champ pour l’encoder en valeur entière (0, 1, 2, etc.) en fonction de l’intervalle temporel. Toutes les dates comprises dans le même intervalle temporel sont encodées ensemble avec le même entier. Trois champs sont créés si vous utilisez la méthode Temporal (Temporelle) : un champ d’intervalle temporel qui contient les intervalles encodés, un champ temporel de début qui contient l’heure de début de l’intervalle temporel, et un champ temporel de fin qui contient l’heure de fin de l’intervalle temporel.
Cet outil modifie les données en entrée et ajoute les nouveaux champs encodés à la table ou la classe d’entités en entrée.
Lorsque vous sélectionnez la méthode One-hot ou One-cold pour le paramètre Encoding Method (Méthode d’encodage), le nombre de champs est égal au nombre de valeurs de catégorie dans le champ sélectionné pour l’encodage (y compris les valeurs de texte et entières). Si vous utilisez la méthode d’encodage Temporal (Temporelle), des intervalles temporels sont créés, en fonction de la valeur du paramètre Time Step Interval (Intervalle temporel) et trois champs sont créés, contenant l’intervalle temporel, l’heure de début et l’heure de fin.
Le paramètre Time Step Interval (Intervalle temporel) n’est applicable que lorsque la méthode Temporal (Temporelle) est sélectionnée pour le paramètre Encoding Method (Méthode d’encodage). La valeur temporelle sera agrégée dans un intervalle temporel auquel l’heure appartient. L’unité de l’intervalle temporel peut être la seconde, la minute, l’heure, le jour, la semaine, le mois ou l’année.
Le paramètre Time Step Alignment (Alignement d’intervalle temporel) définit la façon dont l’agrégation sera effectuée selon un intervalle temporel donné. L’option End time (Heure de fin) aligne l’intervalle temporel sur le dernier événement temporel et effectue une agrégation en arrière dans le temps. L’option Start time (Heure de début) aligne l’intervalle temporel sur le premier événement temporel et effectue une agrégation en avant dans le temps. L’option Reference time (Référence temporelle) permet de spécifier une date et une heure données sur lesquelles aligner les intervalles temporels.
Syntaxe
arcpy.management.EncodeField(in_table, field, {method}, {time_step_interval}, {time_step_alignment}, {reference_time})
Paramètre | Explication | Type de données |
in_table | Classe d’entités ou table en entrée qui contient le champ à encoder. Les champs sont ajoutés à la table en entrée existante ; aucune table en sortie n’est créée. | Table View; Raster Layer; Mosaic Layer |
field | Champ contenant les valeurs de catégorie ou temporelles à encoder. | Field |
method (Facultatif) | Spécifie la méthode à utiliser pour encoder les valeurs présentes dans le paramètre Field to Encode (Champ à encoder).
| String |
time_step_interval (Facultatif) | Nombre de secondes, minutes, heures, jours, semaines ou années qui représenteront un intervalle temporel. La valeur temporelle sera agrégée dans un intervalle temporel auquel elle appartient. Si aucune valeur n’est indiquée, l’intervalle temporel par défaut est basé sur deux algorithmes permettant de déterminer la largeur et le nombre optimal d’intervalles temporels. Le plus petit des deux résultats est utilisé comme intervalle temporel. | Time Unit |
time_step_alignment (Facultatif) | Définit la manière dont l’agrégation sera effectuée en fonction de la valeur du paramètre Time Step Interval (Intervalle temporel).
| String |
reference_time (Facultatif) | Date et heure sur lesquelles les intervalles temporels sont alignés. Par exemple, pour grouper vos données chaque semaine, de lundi à dimanche, définissez une référence temporelle de dimanche à minuit pour vous assurer que les intervalles temporels soient interrompus entre dimanche et lundi à minuit. Cette valeur peut être une date et une heure, ou simplement une date, mais pas uniquement une heure. Le format attendu est fonction des paramètres régionaux de l’ordinateur. | Date |
Sortie dérivée
Nom | Explication | Type de données |
updated_table | Tableau qui contient les champs ajoutés qui ont été encodés. | Vue tabulaire |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil EncodeField.
arcpy.management.EncodeField("San_Francisco_Crimes",
"Category", "ONEHOT", '', None, "END_TIME")
Le script Python autonome ci-dessous illustre l'utilisation de l'outil EncodeField.
# Import system modules.
import arcpy
try:
# Set the workspace and input features.
arcpy.env.workspace = r"C:\\Encoded\\MyData.gdb"
inputFeatures = 'San_Francisco_Crimes'
# Set input features, dependent variable, and explanatory variable.
in_table = 'San_Francisco_Crimes'
field = 'Dates'
# Set encoding Method
encoding_method = "TEMPORAL"
# Set time Step Interval
time_step_interval = '1 Days'
# Set Time Step Alignment
time_step_alignment = "START_TIME"
# Run Encode Field Tool.
arcpy.management.EncodeField(in_table, field, encoding_method,
None, time_step_interval, time_step_alignment)
except arcpy.ExecuteError:
# If an error occurred when running the tool, print the error message.
print(arcpy.GetMessages())
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?