Python | Eliminar fila falsa de la array

A veces, mientras manejamos datos, especialmente en el dominio de Machine Learning, necesitamos pasar por una gran cantidad de datos incompletos o vacíos. A veces necesitamos eliminar las filas que no contienen un valor en ninguna de las columnas. Analicemos ciertas formas de eliminar las filas que tienen todos los valores falsos como columnas de la lista.

Método #1: Usar la comprensión de listas +count() + len()

Podemos realizar esta tarea en particular utilizando la receta de comprensión de lista, junto con la combinación de len y la función de conteo para verificar el contador de elementos de similitud que equivale a la longitud de la lista.

# Python3 code to demonstrate
# removing False rows in matrix 
# using list comprehension + count() + len()
  
# initializing matrix
test_list = [[1, True, 2], [False, False, 3],
            [False, False, False], [1, 0, 1]]
  
# printing original list
print("The original list : " + str(test_list))
  
# using list comprehension + count() + len()
# removing False rows in matrix
res = [sub for sub in test_list 
       if sub.count(False) != len(sub)]
  
# print result
print("The list after removal of False rows : " + str(res))
Producción :

La lista original: [[1, Verdadero, 2], [Falso, Falso, 3], [Falso, Falso, Falso], [1, 0, 1]] La lista después de eliminar las filas Falso: [[1,
Verdadero , 2], [Falso, Falso, 3], [1, 0, 1]]

Método #2: Usar la comprensión de listas +set()

Esta tarea particular también se puede realizar convirtiendo toda la fila en un conjunto y luego verificando el valor único Falso conjunto para la igualdad y eliminando si se encuentra una coincidencia.

# Python3 code to demonstrate
# removing False rows in matrix 
# using list comprehension + set()
  
# initializing matrix
test_list = [[1, True, 2], [False, False, 3],
            [False, False, False], [1, 0, 1]]
  
# printing original list
print("The original list : " + str(test_list))
  
# using list comprehension + set()
# removing False rows in matrix
res = [sub for sub in test_list if set(sub) != {False}]
  
# print result
print("The list after removal of False rows : " + str(res))
Producción :

La lista original: [[1, Verdadero, 2], [Falso, Falso, 3], [Falso, Falso, Falso], [1, 0, 1]] La lista después de eliminar las filas Falso: [[1,
Verdadero , 2], [Falso, Falso, 3], [1, 0, 1]]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *