Eliminar columnas de fecha y hora de la lista de columnasTengo una lista que contiene columnas que el usuario ha seleccionado.
Estos ya son numéricos, pero quiero encontrar aquellos que tengan formato de hora o fecha ya que necesitan un tratamiento especial.
¿Cómo puedo filtrarlos usando JSL?
ScriptingRe: eliminar columnas de fecha y hora de la lista de columnasA continuación, se muestra un ejemplo de una forma de hacerlo. La secuencia de comandos abre una tabla de datos, busca todos los nombres de columna continuos numéricos y luego borra aquellos en los que encuentra que tiene un formato que es uno de los formatos de fecha y fecha y hora enumerados.
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: eliminar columnas de fecha y hora de la lista de columnasTambién puedo cambiar la fecha a un número entero (suma de segundos desde la fecha de inicio).
¿Sería mejor cambiar el formato de todas las columnas en una tabla de datos que ya tiene valores numéricos considerando que puedo tener 100.000 filas y cientos de columnas?
Re: eliminar columnas de fecha y hora de la lista de columnasNo entiendo qué haría cambiar los valores a números enteros para ayudarlo a identificar los valores de fecha y hora. Las columnas de fecha y hora ya son el número de segundos desde el 1 de enero de 1904. Convertirlos en números enteros solo significa que simplemente eliminaría las fracciones de segundo del valor de fecha y hora.Re: eliminar columnas de fecha y hora de la lista de columnasDe hecho, sin contexto no tiene mucho sentido.
PythonSend () funciona guardando un csv temporal y cargándolo en pandas. Cuando se trata de fechas, la implementación actual de JMP no tiene el analizador date_parser activo y el objeto se carga como texto en lugar de un número.
Python Send () no reconoce el formato de fecha y hora (enviado como cadena)
Como mi columna de fecha está dentro de otras X que son continuas, necesito una forma de filtrar esa columna o transformarla en números enteros.
Re: eliminar columnas de fecha y hora de la lista de columnasDeterminar si una columna de caracteres es realmente un valor de fecha y hora, es bastante sencillo, especialmente si se conoce la estructura. Entonces es muy sencillo configurar un informat al formato de fecha y hora de las columnas entrantes, y luego cambiar el tipo de datos a numérico y el tipo de modelado a continuo ... oh sí, y el formato al formato de fecha o fecha y hora de tu elección.