Suppression des colonnes datetime de la liste des colonnesJ'ai une liste contenant des colonnes que l'utilisateur a sélectionnées.
Ceux-ci sont déjà numériques, mais je veux trouver ceux qui sont au format heure ou date car ils nécessitent un traitement spécial.
Comment puis-je les filtrer en utilisant JSL?
ScriptingRe: Suppression des colonnes datetime de la liste des colonnesVoici un exemple d'une façon de procéder. Le script ouvre une table de données, recherche tous les noms de colonnes numériques et continus, puis supprime ceux dans lesquels il trouve qu'il a un format qui est l'un des formats Date et DateHeure répertoriés.
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 );Re: Suppression des colonnes datetime de la liste des colonnesJe peux également changer la date en entier (somme des secondes depuis la date de début).
Serait-il préférable de changer le format de toutes les colonnes dans une table de données qui a déjà des valeurs numériques étant donné que je peux avoir 100 000 lignes et des centaines de colonnes?
Re: Suppression des colonnes datetime de la liste des colonnesJe ne comprends pas ce que changer les valeurs en entiers ferait pour vous aider à identifier les valeurs datetime. Les colonnes Datetime représentent déjà le nombre de secondes depuis le 1er janvier 1904. Les transformer en nombres entiers signifie simplement que vous élimineriez simplement les fractions de seconde de la valeur datetime.Re: Suppression des colonnes datetime de la liste des colonnesEn effet, sans contexte, cela n'a pas beaucoup de sens.
PythonSend () fonctionne en enregistrant un csv temporaire et en le chargeant dans pandas. Lorsqu'il s'agit de dates, l'implémentation JMP actuelle n'a pas le date_parser actif et l'objet est chargé sous forme de texte au lieu d'un nombre.
Python Send () ne reconnaît pas le format datetime (envoyé sous forme de chaîne)
Comme ma colonne de date se trouve dans d'autres X qui sont continus, j'ai besoin d'un moyen de filtrer cette colonne ou de la transformer en nombres entiers.
Re: Suppression des colonnes datetime de la liste des colonnesDéterminer si une colonne de caractères est en fait une valeur datetime est assez simple, en particulier si la structure est connue. Ensuite, il suffit de définir un informat au format datetime des colonnes entrantes, puis de changer le type de données en numérique et le type de modélisation en coninuous ..... oh oui, et le format au format date ou datetime de votre choix.