@HydeMiller , wir möchten dies möglicherweise für JMP 18 aktualisieren, da sich das Setup ändern wird und es auch einen integrierten Editor geben wird.
@HydeMiller Ich kann bei der Aktualisierung helfen.
@SamGardner @Chris_Kirchberg @kemal_oflus Kemal hat mich gebeten, bei einem kurzfristigen Bedarf bei der Veröffentlichung zu helfen.Ich stimme zu, dass wir Python-Beispiele für JMP 18 benötigen und bin für Hilfe dabei dankbar.
Dies ist eine Sammlung von Skripten, die zur Veranschaulichung der neuen Python-Integration in JMP 18 verwendet werden können. Sie können sie gerne zusammen mit anderen Beispielen, die sich für eine Kundenpräsentation bewährt haben, erneut veröffentlichen. Vielen Dank an alle, die bei der Entwicklung dieser Beispiele mitgewirkt haben, darunter Kemal Oflus, Sam Gardner und Paul Nelson.
Beispiele zur Integration mit R mithilfe der neuen Python-Integration in JMP 18 finden Sie in diesem Begleitbeitrag:
C80.1 JMP Python-Anwendungsfälle – Beispiele für die Integration mit R
**************************************************************************************************
Dialog und Regression.py
- Dies ist ein Beispiel für die Verwendung der Python-Integration zur Durchführung einer Analyse, die JMP derzeit nicht durchführt, MLP oder Multi-layer Perceptron Model
- Numpy wird zum Erstellen von Arrays verwendet
- Pandas wird zum Erstellen von Datenrahmen verwendet
- sklearn wird für lineare Regression und mehrschichtiges Perzeptron verwendet
- sklearn wird verwendet, um Modellierungsdaten in Trainings- und Testsätze aufzuteilen
- sklearn wird zur Standardisierung von Modellierungsdaten verwendet
- JSL und die Funktion run_JSL() werden verwendet, um die Tabelle zu öffnen, einen Spaltenauswahldialog zu erstellen und die ausgewählten Daten an Python zu übergeben
- Ergebnisse finden Sie im JMP-Protokoll.
- Die Ergebnisse werden auch als JMP-Tabelle gespeichert und Graph Builder wird verwendet, um ein Ist-Wert-gegen-Vorhergesagt-Diagramm des linearen Regressionsmodells und des MLP-Modells von sklearn zu erstellen.
**************************************************************************************************
GradientBar.py
- Python-Klassen, ein Objekttyp, der Daten und Funktionalität bündelt.
- Python-Schlüsselwort „def“, das zum Definieren einer Funktion verwendet wird.
- Das Pycairo-Paket, das Bindungen für die Cairo-Grafikbibliothek bereitstellt.
- Verwenden der Python-Integration zum Erstellen eines Diagramms, das in JMP nicht nativ unterstützt wird. In diesem Fall wird ein Beispiel für ein Gradienten-Balkendiagramm erstellt.
- Speichern eines von Python generierten Diagramms in einer PNG-Datei und Anzeigen des Diagramms in einem JMP-Bildfeld in einem JMP-Fenster. Die Datei wird in $TEMP gespeichert. Dies lässt sich ermitteln, indem Sie Show(Convert File Path("$TEMP")) in einem JMP-Skriptfenster ausführen. Anschließend können Sie das JMP-Protokoll anzeigen.
**************************************************************************************************
hdf5_import.py
- Verwenden der Python-Integration zum Importieren eines Datenformats, das in JMP nicht nativ unterstützt wird. In diesem Fall handelt es sich bei den Daten um HDF5 (hierarchisches Datenformat), das in vielen wissenschaftlichen Disziplinen beliebt ist.
- Das h5py-Paket, das den Import von HDF5-Dateien unterstützt.
- Einige der HDF5-Daten werden in eine JMP-Tabelle kopiert und im Graph Builder dargestellt (dies sind Spektraldaten).
**************************************************************************************************
jmp_slice.py
- Slicing in Python.
- Verwenden der Slicing-Funktion von Python für JMP-Datentabellen.
- Öffnen von JMP-Tabellen in Python und Zugreifen auf Werte von Zellen in den Tabellen.
**************************************************************************************************
parquet.py
- Verwenden der Python-Integration zum Importieren eines Datenformats, das in JMP nicht nativ unterstützt wird. In diesem Fall handelt es sich bei den Daten um Parquet-Daten.
- Das PyArrow-Paket, das den Import vieler verschiedener Datenformate, einschließlich Parquet-Dateien, unterstützt.
- Erstellen einer JMP-Tabelle und Speichern des Inhalts der Parquet-Datei in der JMP-Tabelle. Dies geschieht durch Iterieren der Spalten in pq_Table und Hinzufügen einer Spalte nach der anderen zur JMP-Tabelle mithilfe einer Hilfsfunktion.
- Python-Schlüsselwort def, das zum Definieren einer Funktion verwendet wird. In diesem Fall akzeptiert die Funktion Argumente und gibt ein Objekt zurück.
- Verwenden Sie jmp.run_jsl(), um Spalteneigenschaften der JMP-Tabelle festzulegen.
**************************************************************************************************
local_import.py
- Importieren eines lokal vom Benutzer geschriebenen Pakets. In diesem Fall heißt das Paket dt2pandas.
- Dies ist ein lokales Paket, d. h. es befindet sich im selben Verzeichnis wie das Skript, das es importiert.
- Das lokale Paket hat eine definierte Funktion namens dt2df. Diese erstellt aus einer JMP-Datentabelle einen Pandas-Datenrahmen im Speicher.
**************************************************************************************************
pyFromJSL.py
- Verwenden der Python-Funktion „Submit()“.
- Verwenden der Python-Funktion Execute().
- Aufrufen einer in Python definierten Funktion aus einer in JSL definierten Funktion.
- Verschachtelung von JSL in Python innerhalb von JSL.
- Definieren einer Python-Funktion, mit der JMP-Objekte bearbeitet werden können. In diesem Fall verwendet die Python-Funktion den Plus-Operator. In Python verhält sich der Plus-Operator bei Verwendung mit unterschiedlichen Datentypen unterschiedlich. Bei numerischen Daten gibt Plus die Summe zurück. Bei Zeichenfolgen und Listen gibt Plus eine verknüpfte Zeichenfolge oder Liste zurück. Bei Vektoren und Matrizen gibt Plus die Summe Element für Element zurück.
- Die in Python definierte Funktion kann in JSL mit Python Execute() aufgerufen werden.
- Dies kann weiter verallgemeinert werden, indem eine JSL-Funktion erstellt wird, die die Python-Funktion aufruft.
- JSL- und Python-Code können verschachtelt werden. Im unten gezeigten Beispiel:
- Das Skript ist JSL, das Python mit Python Submit() aufruft.
- Der Python-Code ruft JSL mit jmp.run_jsl() auf.
- Das Endergebnis ist JSL, das Python aufruft, das JSL aufruft.
- Assoziative JSL-Arrays und Python-Wörterbücher. Im folgenden Beispiel wird ein in JSL erstellter assoziativer Vektor mit Python Submit() an Python übergeben. In Python wird der assoziative Vektor zu einem Python-Wörterbuch.
**************************************************************************************************
array_handling.py
- Python-Listen, Arrays und Numpy-Arrays.
- Marshallen von Daten aus Listen, Arrays und Numpy-Arrays in JMP-Datentabellen.
- Überlegungen zu Datentypen und Kompatibilität mit JMP-Tabellen
- Überlegungen zu None- und NaN-Daten und JMP-Tabellen
- Verwenden von Slicing und JMP-Tabellen
- Zeiger auf Daten und Python-Pufferkonventionen
- Verwenden von run_jsl() zum Definieren von Spaltenformeln und -formaten
- Python-Konventionen für Plus- und Sternchenoperatoren in Listen, Arrays und Numpy-Arrays
**************************************************************************************************
Ich habe auch viele Beispiele, die ich teilen kann. Viele davon entstanden, als ich die Funktionalität entwickelte und testete. In diesem Fall handelt es sich bei den meisten um grundlegende Funktionen und nicht um erweiterte Statistiken.
Hallo @Paul_Nelson , weitere Beispiele wären wirklich nützlich. Können wir eine Sitzung vereinbaren, um uns anzusehen, was Sie haben? Ich werde eine Dokumentation rund um sie erstellen.
Ja, wir können eine Sitzung vereinbaren. Da ich gerade aus Großbritannien zurückgekommen bin (eine Woche Urlaub nach Manchester), muss ich diese Woche noch aufholen.