Tutoriel : Ajout d'expressions
Dans ce tutoriel, vous écrivez une expression pour calculer la distance parcourue par des robots d'après une vitesse et un temps de déplacement. Testez l'expression avant de l'appliquer à un type d'appareil dans.
A propos de cette tâche
Vous testez l'expression hors ligne afin de vérifier que le calcul fonctionne et que la syntaxe est correcte.
Dans le script de test, vous créez un exemple de type de terminal, vous générez des exemples de données et vous appliquez l'expression aux exemples de données pour créer une nouvelle métrique distance .
Avant de commencer
Installez Python 3.9.x dans votre environnement.
Etape 1 : Définir votre expression
Calculez la distance parcourue par des robots. Deux des éléments de données d'entrée du type de dispositif de l'exemple de robot sont speed et travel_time.
Définissez la distance comme suit :
distance = speed * travel time
Etape 2 : Ecrire votre expression dans Python
Exemple :
df['distance'] = df['speed']*df['travel_time']
Etape 3 : Tester votre expression
Créez un script appelé test_my_expression.py. Dans le script, procédez comme suit :
- Importez des bibliothèque et des packages Python. Exemple :
import datetime as dt import numpy as np import pandas as pd from collections import namedtuple - Définissez un namedtuple pour capturer les métadonnées de l'expression.
PythonExpression = namedtuple('Exp', 'output expression') - Créez trois exemples de robots :
robot_a,robot_betrobot_c. Affichez les données.row_count = 5 data_items = ["speed","travel_time"] entities = ['robot_a','robotb','robot_c'] dfs = [] for e in entities: data = np.random.normal(100,10,(row_count,len(data_items))) df = pd.DataFrame(data=data,columns = data_items) df['id'] = e df['evt_timestamp'] = pd.date_range( end=dt.datetime.utcnow(), periods=row_count ) df = df.set_index(['id','evt_timestamp']) dfs.append(df) df = pd.concat(dfs) print(df) - Ajoutez l'expression.
df["distance"] = df["speed"] * df["travel_time"] print(df) - Modéliser la fonction
PythonExpressionet ses métadonnées dans le script. Comme vous exécutez le script hors ligne, vous devez modéliser le comportement de la fonction. Utilisez un tuple Python avec un nouvel élément de données et une expression de chaîne.ex1 = PythonExpression('distance','df["speed"]*df["travel_time"]') - Evaluez l'expression.
df[ex1.output] = eval(ex1.expression) print(df) - Exécutez le script à partir de la ligne de commande. Exemple :
python3 test_my_expression.py
Le script crée l'élément de données distance. En cas de succès, vous êtes prêt à utiliser l'expression dans une fonction de l'interface utilisateur.
Etape 4: Création d'un exemple de type de terminal
- Sur la page Configuration , dans l'onglet Périphériques , cliquez sur l'icône plus (+) pour ajouter un nouveau type de périphérique.
- Sélectionnez le modèle de type d'exemple Robot.
- Affectez un nom au type de terminal.
- Cliquez sur Créer.
- Sélectionnez l'exemple de type de terminal.
- Cliquez sur Configurer le type de terminal , puis sur Données.
La génération des métriques prend jusqu'à 5 minutes.
Étape 5 : Appliquer l'expression au type de dispositif
- Dans l'onglet Données , cliquez sur Créer une métrique.
- Sélectionnez la fonction
PythonExpressiondans le catalogue. - Définissez la portée, puis cliquez sur Suivant.
- Supprimez
distance =de la fonction antérieure et dans la zone d'expression, entrez :df["speed"]*df["travel_time"] - Cliquez sur Suivant.
- Spécifiez
distancecomme élément de données de sortie. - Cliquez sur Créer
- Dans la liste des éléments de données, sélectionnez
distance. - Affichez les nouvelles données de métrique de distance. Attendez jusqu'à 5 minutes pour évaluer l'expression par rapport aux données de l'échantillon.