Come convertire Python Pandas dataFrame in formato jmp senza salvarlo come file?So che JMP supporta la funzione "Python Interface" all'interno dell'ambiente di script JMP. Ma a volte sarà meglio collaborare indipendentemente dall'ingegnere Python e da JMP.
Nel nostro caso, l'ingegnere Python legge i file di database con l'interfaccia DB, esegue il pre-processo con la libreria Pandas e desidera convertire il formato JMP perché l'ingegnere JMP necessita solo di dati in formato JMP per eseguire l'analisi dei dati e il post-elaborazione con JSL.
Come immagini, il collo di bottiglia è come convertire il dataFrame di Python Panda senza salvarlo come file. Il modo più semplice è salvare i file e leggerli in formato jmp, ma ci vogliono molte volte per salvarli e leggerli. Mi piacerebbe sapere dove esiste una libreria per convertire i dati di Python Pandas in formato jmp direttamente in memoria o meno.
Ri: Come convertire i dataFrame di Python Pandas in formato jmp senza salvarlo come file?Grazie per il post indietro.Mi piacerebbe poter aprire semplicemente un file .parquet direttamente con JMP.
Usiamo già le connessioni DB per recuperare i dati, ma ci sono così tante inefficienze nell'uso di .csv in una pipeline di dati completa (scrittura di estrazione, archiviazione, lettura), ci piacerebbe iniziare a utilizzare parquet.
Ri: Come convertire i dataFrame di Python Pandas in formato jmp senza salvarlo come file?I formati JSON sono troppi da gestire.
Ri: Come convertire i dataFrame di Python Pandas in formato jmp senza salvarlo come file?@Craige_Hales tu-uomo Craig 
Ri: Come convertire i dataFrame di Python Pandas in formato jmp senza salvarlo come file?To_Json con Orient=table potrebbe essere una buona scelta. Ha bisogno di convertire da binario a testo e viceversa. La procedura guidata JSON di JMP dovrebbe gestirlo in modo abbastanza diretto. L'utilizzo di CSV con l'importazione di più file potrebbe effettivamente essere abbastanza veloce. Utilizzerà tutti i processori della CPU per caricare le colonne in parallelo durante l'importazione da parte di JMP. Potrebbe essere troppo lento sul lato server a seconda di come è implementato.
Ho eseguito il trasferimento da binario a binario nel file Beowulf, Newton e il signor Hanson post sul blog, qualche tempo fa. Ha utilizzato numpy per generare un blocco di dati binari dal codice Python e la funzione blob to matrix in JSL per caricare nuovamente i dati binari. Ha funzionato bene perché i dati erano tutti numerici.
Ri: Come convertire i dataFrame di Python Pandas in formato jmp senza salvarlo come file?Immagino che potresti usare il comando "apri database" di JMP o il generatore di query per estrarre i dati direttamente dal database. Avresti bisogno di un driver ODBC per il database. Dopo esserti connesso al database, puoi inviare una query in SQL per recuperare i tuoi dati in JMP. Query Builder ti permetterebbe di scrivere graficamente l'SQL.
CSV è un tipo piuttosto comune di file di trasporto dati, quindi non lo abbandonerei così in fretta. Anche il multithread JMP legge file di testo e csv in modo che si aprano abbastanza velocemente.
Ri: Come convertire i dataFrame di Python Pandas in formato jmp senza salvarlo come file?Ciao!So che questo è un post di 4 anni fa e sono un nuovo utente nella community di JMP... ma per i nostri casi d'uso, la soluzione presentata qui al post originale non è completa per le nostre esigenze.
Vorremmo avere un server che esegue solo Python (non JMP / JSL) in grado di eseguire tutti i dati pull e preparazioni / trasformazioni, quindi essere in grado di serializzare i dati (senza una scrittura di file locale) e inviare i dati a un client in un formato direttamente leggibile in JMP.
I nostri dati sono più grandi... si può dire, da 100.000 a 1 milione di righe... e da 10 a 100 colonne...È eterogeneo (numerico e categorico) e può contenere valori mancanti.
Qualcuno dei metodi DataFrame.to_() lo supporta?Quel metodo panda può essere scritto e buffer IO piuttosto che un file per risparmiare tempo, e quindi il trasferimento in rete al client JMP?
I principali formati candidati che vorremmo lavorare sono .to_parquet(), to_hdf(), to_feather() .Sembra che i panda abbiano un metodo to_stata() che scrive nel formato "Stata".Non sono sicuro che JSL (SAS) sia qualcosa che è abbastanza aperto in cui Pandas potrebbe implementarlo un giorno (potrebbe essere in basso nell'elenco lì).Il parquet sembra essere universale in questi giorni, e anche i panda hanno anche il tipo "Tavolo" a freccia come tipo di prima classe, quindi anche questo è intrigante per noi.
Vorremmo evitare formati che richiedono la rianalisi dei dati e l'assegnazione di tipi di dati (numerici, categorici, data_ora... ... quindi .to_csv() e to_json() o altri formati di testo non sono molto utili.
Grazie in anticipo per aver letto il post e fammi sapere se avrei dovuto aprire una nuova discussione, piuttosto che rispondere a questa.
Randall
Ri: Come convertire i dataFrame di Python Pandas in formato jmp senza salvarlo come file?Un metodo per farlo sarebbe quello di convertire il file Python Pandas dataFrame a una versione JSL di una tabella JMP.Questa è una forma completamente supportata e documentata di una tabella di dati JMP.E ti consentirà di includere qualsiasi proprietà Columm e stati di riga ecc. Per vedere esempi di ciò che dovresti fare, tutto ciò che devi fare è puntare a qualsiasi tabella di dati JMP esistente e chiedere a JMP di generare lo script che ricreerà la tabella.
Ri: Come convertire i dataFrame di Python Pandas in formato jmp senza salvarlo come file?Posso chiedere i dettagli sulla conversione di Python Pandas dataFrame in formato jmp salvandolo come file?
Desidero estrarre i dati come dataFrame Pandas e salvarli in un formato che JMP possa leggere facilmente per ulteriori indagini.
grazie in anticipo
Ri: Come convertire i dataFrame di Python Pandas in formato jmp senza salvarlo come file?In jmp 14 Ci sono alcune nuove funzioni per ottenere e inviare cose con Python.
Non ho ancora potuto usarli.
C'è una funzione chiamata Python Get(nome) che potrebbe funzionare.
Ri: Come convertire i dataFrame di Python Pandas in formato jmp senza salvarlo come file?Grazie per il vostro consiglio.
Ma se possibile, mi piacerebbe sapere come trasferire direttamente nel formato jmp che JSL (JMP Script Language) riconosce i dati dataFrame all'interno dell'ambiente JSL. Significa che JSL riconosce Pandas dataFrame come uno JMP. Il motivo è che, nel mio caso, posso eseguire quasi tutto il lavoro di automazione JSL se posso avviarlo dal formato dati JMP.
Re: Come convertire i dataFrame di Python Pandas in formato jmp senza salvarlo come file?se i file sono piccoli e si adattano agli appunti, puoi semplicemente salvare il frame di dati negli appunti e incollarlo dagli appunti in JMP.
Questo è un esempio tratto da un Discovery Summit Talk:
https://community.jmp.com/t5/Discovery-Summit-2017/Leveraging-Python-and-REST-to-Introduce-SAS-Viya-TM-Processing/ta-p/44078
names default to here(1);
path=Get Current Directory();
dt1=Open("$SAMPLE_DATA/Big Class.jmp");
current data table(dt1);
dt1<< Bring Window To Front;
main menu("Copy With Column Names");
text="\[
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_clipboard(sep='\\s+')
size= (df.height * df.weight)/df.age ** .5
ax = plt.subplot(111, projection='polar')
c = plt.scatter(df.height, df.weight, c=df.age, s=size, cmap=plt.cm.hsv)
c.set_alpha(0.55)#transparency
plt.show()
]\";
path=Get Current Directory();
save text file(path||"graph.py", text);
x = RunProgram(
executable( "/Users/user1/anaconda/bin/python" ),
options(path||"graph.py")
,readfunction("blob")
);
close(dt1, nosave);//this executes as soon as the graph window is closed