Rimozione delle colonne datetime dall'elenco delle colonneHo un elenco contenente le colonne selezionate dall'utente.
Questi sono già numerici, ma voglio trovare quelli che hanno il formato dell'ora o della data poiché richiedono un trattamento speciale.
Come posso filtrarli usando JSL?
ScriptingRi: rimozione delle colonne datetime dall'elenco delle colonneEcco un esempio di un modo per farlo. Lo script apre una tabella di dati, trova tutti i nomi di colonna numerica e continua, quindi elimina quelli in cui rileva che ha un formato che è uno dei formati Data e DateTime elencati.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Aircraft Incidents.jmp" );
colList = dt << get column names( string, numeric, continuous );
// Create a list of the date and datetime formats to check for
dateList = {"m/d/y", "mmddyyyy", "m/d/y h:m", "m/d/y h:m"};
show("All Numeric List", colList );
For( i = N Items( colList ), i >= 1, i--,
If(
Contains(
dateList,
Word( 2, Char( Column( dt, colList[i] ) << get format ), "(,\!"" )
),
show(Word( 2, Char( Column( dt, colList ) << get format ), "(,\!"" ));
Remove From( colList, i, 1 )
)
);
show("\!nList with Date columns removed", colList );Ri: rimozione delle colonne datetime dall'elenco delle colonnePosso anche cambiare la data in numero intero (somma di secondi dalla data di inizio).
Sarebbe meglio cambiare il formato di tutte le colonne in una tabella dati che ha già valori numerici considerando che posso avere 100.000 righe e centinaia di colonne?
Ri: rimozione delle colonne datetime dall'elenco delle colonneNon capisco cosa farebbe cambiare i valori in numeri interi per aiutarti a identificare i valori datetime. Le colonne datetime indicano già il numero di secondi dal 1 gennaio 1904. Trasformarli in numeri interi significa semplicemente eliminare le frazioni di secondo dal valore datetime.Ri: rimozione delle colonne datetime dall'elenco delle colonneIn effetti, senza contesto non ha molto senso.
PythonSend () funziona salvando un csv temporaneo e caricandolo in panda. Quando si tratta di date, l'implementazione corrente di JMP non ha il date_parser attivo e l'oggetto viene caricato come testo anziché come numero.
Python Send () non riconosce il formato datetime (inviato come stringa)
Poiché la mia colonna della data si trova all'interno di altre X che sono continue, ho bisogno di un modo per filtrare quella colonna o trasformarla in numeri interi.
Ri: rimozione delle colonne datetime dall'elenco delle colonnePer determinare se una colonna di caratteri è effettivamente un valore datetime, è abbastanza semplice, in particolare se la struttura è nota. Quindi è semplice impostare una informazione sul formato data / ora delle colonne in entrata, quindi cambiare il tipo di dati in numerico e il tipo di modellazione in coninuous ..... oh sì, e il formato nel formato data o datetime di tua scelta.