Coloque una fila en un Marco de datos de Pandas si alguna columna contiene un cierto valor, en dicha fila

Si queremos soltar una fila en la que alguna columna tenga un valor faltante, podemos hacer esto:

df.dropna(axis = 0, how = 'any', inplace = True) 

¿Cómo hacemos lo mismo si queremos soltar una fila en la que cualquier columna de esa fila tenga un cierto valor (digamos que una columna tiene el valor “tortuga”)?

Alguna columna de la fila x contiene “tortuga”, así que la eliminamos.

Manifestación:

Muestra DF:

 In [7]: import string In [8]: df = pd.DataFrame(np.random.randint(100, size=(10,10)), columns=list(string.ascii_letters[:10])) In [9]: df Out[9]: abcdefghij 0 95 79 14 64 97 3 0 49 84 2 1 52 82 72 40 55 26 21 69 2 35 2 30 63 27 63 14 23 70 62 83 80 3 23 90 96 43 75 23 27 47 83 40 4 82 87 63 37 36 58 88 18 50 29 5 92 29 93 6 62 85 87 74 21 32 6 23 64 19 22 50 86 51 93 46 1 7 56 0 8 46 1 56 82 15 55 45 8 67 35 83 65 63 58 48 85 75 90 9 12 7 45 28 33 98 42 93 78 12 

vamos a eliminar todas las filas que contienen al menos un 0 :

 In [10]: df.eq(0) Out[10]: abcdefghij 0 False False False False False False True False False False 1 False False False False False False False False False False 2 False False False False False False False False False False 3 False False False False False False False False False False 4 False False False False False False False False False False 5 False False False False False False False False False False 6 False False False False False False False False False False 7 False True False False False False False False False False 8 False False False False False False False False False False 9 False False False False False False False False False False In [11]: res = df[~df.eq(0).any(1)] In [12]: res Out[12]: abcdefghij 1 52 82 72 40 55 26 21 69 2 35 2 30 63 27 63 14 23 70 62 83 80 3 23 90 96 43 75 23 27 47 83 40 4 82 87 63 37 36 58 88 18 50 29 5 92 29 93 6 62 85 87 74 21 32 6 23 64 19 22 50 86 51 93 46 1 8 67 35 83 65 63 58 48 85 75 90 9 12 7 45 28 33 98 42 93 78 12 

dropnan sabes, cómo dropnan , puedes replace por NaN.

 df=df.replace('Yourvalue',np.nan).dropna(axis = 0, how = 'any')