En caso de que haya alguna duda: Nan = Non-numeric datatype
a los efectos de este desafío.
Escriba un programa o función que tome una matriz / matriz como entrada, así como una lista de índices de columna.
El desafío es eliminar las filas donde están todos los elementos en las columnas especificadas Nan
. No importa si otros elementos en la fila son numéricos o no. Con suerte, los siguientes ejemplos aclararán esto (está indexado):
Input array:
16 NaN 3 13
5 11 NaN 8
NaN 7 NaN 12
4 14 -15 1
Input column index: [1 3]
Output array:
16 NaN 3 13
5 11 NaN 8
4 14 -15 1
----
Input array:
16 NaN 3 13
5 11 NaN 8
NaN 7 NaN 12
4 14 -15 1
Input column index: 3
Output array =
16 NaN 3 13
4 14 -15 1
----
Input array:
NaN NaN NaN NaN
NaN NaN NaN NaN
NaN NaN NaN NaN
NaN NaN NaN NaN
Input column index: 1 2 4
Output array:
[]
Reglas y aclaraciones:
- La matriz siempre estará vacía.
- Los valores numéricos serán finitos, pero no necesariamente enteros o valores positivos.
- El vector índice de la columna puede estar vacío (en cuyo caso no se eliminarán filas)
- El índice de la columna nunca tendrá valores que excedan las dimensiones de la matriz.
- Puede suponer que no habrá duplicados en la lista de índice de la columna
- Puede elegir si desea utilizar valores indexados cero o uno (especifique)
- Puede tomar la entrada en cualquier formato conveniente
- La matriz como lista de listas está bien. Los índices de columna pueden ser argumentos separados
ans =
y similar es aceptado en la salida- Usted es libre de elegir qué tipo de datos no numéricos desea usar
- Debería ser imposible realizar operaciones aritméticas con este tipo de datos, o convertirlo a un número finito utilizando funciones como
float(x)
.
- Debería ser imposible realizar operaciones aritméticas con este tipo de datos, o convertirlo a un número finito utilizando funciones como
Este es el código de golf, por lo que el código más corto en bytes gana.
J
convz
yK
conQ
.z
se inicializa a entrada,Q
a entrada evaluada.