@HydeMiller , nous souhaiterons peut-être mettre à jour cela pour JMP 18 car la configuration va changer et il y aura également un éditeur intégré.
@HydeMiller Je peux vous aider à mettre à jour ceci.
@SamGardner @Chris_Kirchberg @kemal_oflus Kemal m'a demandé de l'aider à publier pour un besoin à court terme.Je suis d'accord que nous avons besoin d'exemples Python pour JMP 18 et j'apprécie votre aide.
Il s'agit d'un ensemble de scripts qui peuvent être utilisés pour illustrer la nouvelle intégration Python dans JMP 18. N'hésitez pas à republier tout autre exemple que vous pourriez avoir et qui a bien fonctionné pour une présentation client. Merci à tous ceux qui ont contribué à développer ces exemples, notamment Kemal Oflus, Sam Gardner et Paul Nelson.
Pour des exemples d'intégration avec R à l'aide de la nouvelle intégration Python dans JMP 18, consultez cet article complémentaire :
Cas d'utilisation de C80.1 JMP Python - Exemples d'intégration avec R
************************************************** ***********************************************
Dialogue et régression.py
- Ceci est un exemple d'utilisation de l'intégration Python pour effectuer une analyse que JMP ne fait pas actuellement, MLP ou modèle Perceptron multicouche.
- numpy est utilisé pour construire des tableaux
- pandas est utilisé pour créer des trames de données
- sklearn est utilisé pour la régression linéaire et le perceptron multicouche
- sklearn est utilisé pour diviser les données de modélisation en ensembles d'entraînement et de test
- sklearn est utilisé pour standardiser les données de modélisation
- JSL et la fonctionnalité run_JSL() sont utilisés pour ouvrir la table, créer une boîte de dialogue de sélection de colonne et transmettre les données sélectionnées à Python.
- Voir le journal JMP pour les résultats
- Les résultats sont également enregistrés sous forme de tableau JMP et Graph Builder est utilisé pour créer un tracé réel/prédit du modèle de régression linéaire et du modèle MLP de sklearn.
************************************************** ***********************************************
DégradéBar.py
- Classes Python, un type d'objet qui regroupe les données et les fonctionnalités.
- Mot-clé Python def qui est utilisé pour définir une fonction.
- Le package Pycairo qui fournit des liaisons pour la bibliothèque graphique du Caire.
- Utiliser l'intégration Python pour créer un graphique qui n'est pas pris en charge nativement dans JMP. Dans ce cas, un exemple de graphique à barres dégradées est produit.
- Enregistrement d'un graphique généré par Python dans un fichier .png et affichage du graphique dans une zone d'image JMP dans une fenêtre JMP. Le fichier est enregistré dans $TEMP qui peut être déterminé en exécutant Show(Convert File Path("$TEMP")) dans une fenêtre de script JMP, puis en consultant le journal JMP.
************************************************** ***********************************************
hdf5_import.py
- Utiliser l'intégration Python pour importer un format de données qui n'est pas pris en charge nativement dans JMP. Dans ce cas, les données sont au format hdf5 (format de données hiérarchique), populaire dans de nombreuses disciplines scientifiques.
- Le package h5py qui prend en charge l'importation de fichiers hdf5.
- Certaines données hdf5 sont copiées dans une table JMP et tracées dans Graph Builder (il s'agit de données spectrales).
************************************************** ***********************************************
jmp_slice.py
- Découper en Python.
- Utilisation de la fonctionnalité de découpage de Python sur les tables de données JMP.
- Ouverture de tables JMP en Python et accès aux valeurs des cellules dans les tables.
************************************************** ***********************************************
parquet.py
- Utiliser l'intégration Python pour importer un format de données qui n'est pas pris en charge nativement dans JMP. Dans ce cas, les données sont des données parquet.
- Le package PyArrow qui prend en charge l'importation de nombreux formats de données différents, y compris les fichiers Parquet.
- Création d'une table JMP et enregistrement du contenu du fichier parquet dans la table JMP. Cela se fait en itérant sur les colonnes de pq_Table et en ajoutant une colonne à la fois à la table JMP à l'aide d'une fonction d'assistance.
- Mot-clé Python def qui est utilisé pour définir une fonction. Dans ce cas, la fonction accepte les arguments et renvoie un objet.
- Utilisez jmp.run_jsl() pour définir les propriétés de colonne de la table JMP.
************************************************** ***********************************************
local_import.py
- Importation d'un package écrit par un utilisateur local. Dans ce cas, le package s’appelle dt2pandas.
- Il s'agit d'un package local, c'est-à-dire qu'il se trouve dans le même répertoire que le script qui l'importe.
- Le package local a une fonction définie appelée dt2df. Cela crée une trame de données pandas en mémoire à partir d'une table de données JMP.
************************************************** ***********************************************
pyFromJSL.py
- Utilisation de la fonctionnalité Python Submit().
- Utilisation de la fonctionnalité Python Execute().
- Appel d'une fonction définie par Python à partir d'une fonction définie par JSL.
- Imbrication de JSL dans Python dans JSL.
- Définition d'une fonction Python pouvant être utilisée pour manipuler des objets JMP. Dans ce cas, la fonction Python utilise l'opérateur plus. En Python, l'opérateur plus se comporte différemment lorsqu'il est utilisé avec différents types de données. Avec des données numériques, plus renvoie la somme. Avec des chaînes et des listes, plus renvoie une chaîne ou une liste concaténée. Avec les vecteurs et les martrices, plus renvoie la somme élément par élément.
- La fonction définie en Python peut être invoquée en JSL à l'aide de Python Execute().
- Cela peut être généralisé davantage en créant une fonction JSL qui appelle la fonction Python.
- Le code JSL et Python peut être imbriqué. Dans l'exemple ci-dessous :
- Le script est JSL qui appelle Python à l'aide de Python Submit().
- Le code Python appelle JSL en utilisant jmp.run_jsl().
- Le résultat final est JSL appelant Python qui appelle JSL.
- Tableaux associatifs JSL et dictionnaires Python. Dans l'exemple ci-dessous, un vecteur associatif créé en JSL est transmis à Python à l'aide de Python Submit(). En Python, le vecteur associatif devient un dictionnaire Python.
************************************************** ***********************************************
array_handling.py
- Listes Python, tableaux et tableaux numpy.
- Regrouper les données des listes, des tableaux et des tableaux numpy vers les tables de données JMP.
- Considérations sur les types de données et la compatibilité avec les tables JMP
- Considérations sur les données Aucun et NaN et les tables JMP
- Utilisation du découpage et des tables JMP
- Pointeurs vers les données et les conventions de tampon Python
- Utilisation de run_jsl() pour définir les formules et les formats de colonnes
- Conventions Python pour les opérateurs plus et astérisque sur les listes, les tableaux et les tableaux numpy
************************************************** ***********************************************
J'ai également de nombreux exemples que je peux partager. Beaucoup d’entre eux ont été créés alors que je construisais et testais des fonctionnalités. Dans ce cas, la plupart sont des fonctionnalités de base plutôt que des statistiques avancées.
Salut @Paul_Nelson , plus d'exemples seraient vraiment utiles. Pouvons-nous planifier une séance pour examiner ce que vous avez ? Je vais construire de la documentation autour d'eux.
Oui, nous pouvons planifier une séance. Comme je reviens tout juste du Royaume-Uni (une semaine de vacances après Manchester), je suis encore en train de rattraper mon retard cette semaine.