@HydeMiller , potremmo voler aggiornarlo per JMP 18 poiché la configurazione cambierà e ci sarà anche un editor integrato.
@HydeMiller Posso aiutarti con l'aggiornamento.
@SamGardner @Chris_Kirchberg @kemal_oflus Kemal mi ha chiesto di aiutarlo a pubblicare per un'esigenza a breve termine.Sono d'accordo che abbiamo bisogno di esempi Python per JMP 18 e apprezzo un po' di aiuto in merito.
Questa è una raccolta di script che possono essere utilizzati per illustrare la nuova integrazione Python in JMP 18. Sentiti libero di ripubblicare con qualsiasi altro esempio che potresti avere che abbia funzionato bene per una presentazione al cliente. Grazie a tutti coloro che hanno contribuito a sviluppare questi esempi, tra cui Kemal Oflus, Sam Gardner e Paul Nelson.
Per esempi di integrazione con R utilizzando la nuova integrazione Python in JMP 18, vedere questo post associato:
Casi d'uso di JMP Python C80.1 - Esempi di integrazione con R
************************************************** ************************************************
Finestra di dialogo e Regression.py
- Questo è un esempio dell'utilizzo dell'integrazione Python per eseguire un'analisi che JMP attualmente non esegue, MLP o modello Perceptron multistrato
- numpy viene utilizzato per creare array
- panda viene utilizzato per creare frame di dati
- sklearn viene utilizzato per la regressione lineare e il percettrone multistrato
- sklearn viene utilizzato per dividere i dati di modellazione in set di training e test
- sklearn viene utilizzato per standardizzare i dati di modellazione
- JSL e la funzionalità run_JSL() vengono utilizzati per aprire la tabella, creare una finestra di dialogo di selezione delle colonne e passare i dati selezionati a Python
- Per i risultati, vedere Registro JMP
- I risultati vengono anche salvati come tabella JMP e il Generatore di grafici viene utilizzato per creare un grafico effettivo rispetto a quello previsto del modello di regressione lineare e del modello MLP di sklearn
************************************************** ************************************************
GradientBar.py
- Classi Python, un tipo di oggetto che unisce dati e funzionalità.
- Parola chiave Python def utilizzata per definire una funzione.
- Il pacchetto Pycairo che fornisce collegamenti per la libreria grafica Cairo.
- Utilizzo dell'integrazione Python per creare un grafico che non è supportato nativamente in JMP. In questo caso, viene prodotto un esempio di grafico a barre con gradiente.
- Salvataggio di un grafico generato da Python in un file .png e visualizzazione del grafico in una casella immagine JMP all'interno di una finestra JMP. Il file viene salvato in $TEMP che può essere determinato eseguendo Show(Convert File Path("$TEMP")) in una finestra di script JMP, quindi visualizzando il registro JMP.
************************************************** ************************************************
hdf5_import.py
- Utilizzo dell'integrazione Python per importare un formato dati che non è supportato nativamente in JMP. In questo caso, i dati sono hdf5 (formato dati gerarchico), popolare in molte discipline scientifiche.
- Il pacchetto h5py che supporta l'importazione di file hdf5.
- Alcuni dei dati hdf5 vengono copiati in una tabella JMP e tracciati nel Costruttore di grafici (si tratta di dati spettrali).
************************************************** ************************************************
jmp_slice.py
- Affettare in Python.
- Utilizzo della funzionalità di suddivisione in porzioni di Python sulle tabelle di dati JMP.
- Apertura di tabelle JMP in Python e accesso ai valori delle celle nelle tabelle.
************************************************** ************************************************
parquet.py
- Utilizzo dell'integrazione Python per importare un formato dati che non è supportato nativamente in JMP. In questo caso i dati sono dati del parquet.
- Il pacchetto PyArrow che supporta l'importazione di molti formati diversi di dati inclusi i file parquet.
- Creazione di una tabella JMP e salvataggio del contenuto del file parquet nella tabella JMP. Questo viene fatto eseguendo un'iterazione sulle colonne in pq_Table e aggiungendo una colonna alla volta alla tabella JMP utilizzando una funzione di supporto.
- Parola chiave Python def utilizzata per definire una funzione. In questo caso, la funzione accetta argomenti e restituisce un oggetto.
- Utilizzare jmp.run_jsl() per impostare le proprietà della colonna della tabella JMP.
************************************************** ************************************************
local_import.py
- Importazione di un pacchetto locale scritto dall'utente. In questo caso il pacchetto si chiama dt2pandas.
- Questo è un pacchetto locale, il che significa che si trova nella stessa directory dello script che lo importa.
- Il pacchetto locale ha una funzione definita chiamata dt2df. Questo crea un dataframe panda in memoria da una tabella dati JMP.
************************************************** ************************************************
pyFromJSL.py
- Utilizzando la funzione Python Submit().
- Utilizzando la funzionalità Python Execute().
- Chiamare una funzione definita Python da una funzione definita JSL.
- Nidificazione di JSL all'interno di Python all'interno di JSL.
- Definizione di una funzione Python che può essere utilizzata per manipolare oggetti JMP. In questo caso, la funzione Python utilizza l'operatore più. In Python, l'operatore più si comporta diversamente se utilizzato con diversi tipi di dati. Con dati numerici, più restituisce la somma. Con stringhe ed elenchi, plus restituisce una stringa o un elenco concatenato. Con vettori e matrici, più restituisce l'elemento per somma degli elementi.
- La funzione definita in Python può essere richiamata in JSL utilizzando Python Execute().
- Questo può essere ulteriormente generalizzato creando una funzione JSL che chiama la funzione Python.
- Il codice JSL e Python può essere nidificato. Nell'esempio mostrato di seguito:
- Lo script è JSL che chiama Python utilizzando Python Submit().
- Il codice Python chiama JSL utilizzando jmp.run_jsl().
- Il risultato finale è JSL che chiama Python che chiama JSL.
- Array associativi JSL e dizionari Python. Nell'esempio seguente, un vettore associativo creato in JSL viene passato a Python utilizzando Python Submit(). In Python, il vettore associativo diventa un dizionario Python.
************************************************** ************************************************
array_handling.py
- Elenchi Python, array e array numpy.
- Marshalling dei dati da elenchi, array e array Numpy alle tabelle di dati JMP.
- Considerazioni sui tipi di dati e compatibilità con le tabelle JMP
- Considerazioni sui dati None e NaN e sulle tabelle JMP
- Utilizzo delle sezioni e delle tabelle JMP
- Puntatori ai dati e convenzioni del buffer Python
- Utilizzo di run_jsl() per definire formule e formati di colonna
- Convenzioni Python per operatori più e asterisco su elenchi, array e array numpy
************************************************** ************************************************
Ho anche molti esempi che posso condividere. Molti di essi sono stati creati mentre stavo costruendo e testando la funzionalità. In questo caso la maggior parte sono funzionalità di base piuttosto che statistiche avanzate.
Ciao @Paul_Nelson , più esempi sarebbero davvero utili. Possiamo programmare una sessione per vedere cosa hai? Costruirò della documentazione attorno a loro.
Sì, possiamo programmare una sessione. Dato che sono appena tornato dal Regno Unito (una settimana di vacanza dopo Manchester), sto ancora recuperando terreno questa settimana.