Quando si inviano dati a frame di dati pandas (Python), i valori numerici (datetimes) vengono inviati come stringhe.
Non mi aspetto questo comportamento, poiché ora devo affrontarlo manualmente (considerando che i datetimes in Python e JMP sono diversi).
Qualche soluzione alternativa? Immagino che il modo più semplice sarebbe trasformare il formato JMP in intero, inviare queste informazioni e trasformare la data considerando la logica dietro le date JMP (somma di secondi dalla data specifica).
ClearLog();
dt = Open( "$SAMPLE_DATA/Functional Data/Weekly Weather Data.jmp");
t = dt << Subset(
Allrows,
Columns(:DATE)
);
Python Init();
Python Send( t );
Python Submit( "
import pandas as pd
print(t.dtypes)
");
Python Term();
// Output
// DATE object
// dtype: object
// Types: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.dtypes.html
//float float64
//int int64
//datetime datetime64[ns] << Expected
//string object
//dtype: object
Questa stringa di messaggio era per R, ma penso che tu possa usare lo stesso concetto per Python.
https://community.jmp.com/t5/Discussions/How-to-send-dates-as-characters-from-JMP-to-R/td-p/50112