python - dtypes - pandas select columns
comparando la matriz dtype[float64] con un escalar de tipo[bool] en Pandas DataFrame (1)
Puede transformar la columna ''a'' o ''b'' para que sean float64 o bool. Sin embargo, una solución más fácil que conserva el tipo de datos de sus características es esta:
DF3 = DF[(DF[''a''] == 0) | (DF[''b''] == 0)]
Una operación común es el uso de vectores booleanos para filtrar los datos. Los operadores son: | para y, y para y, y ~ para no. Estos deben agruparse utilizando paréntesis.
Tengo un Pandas DF donde necesito filtrar algunas filas que contienen valores == 0 para la característica ''a'' y la característica ''b''.
Para inspeccionar los valores, ejecuto lo siguiente:
DF1 = DF[DF[''a''] == 0]
Lo que devuelve los valores correctos. Del mismo modo, al hacer esto:
DF2 = DF[DF[''b''] == 0]
Puedo ver los 0 valores para la característica ''b''.
Sin embargo, si trato de combinar estos 2 en una sola línea de código usando el operando OR:
DF3 = DF[DF[''a''] == 0 | DF[''b''] == 0]
Entiendo esto:
TypeError: cannot compare a dtyped [float64] array with a scalar of type [bool]
¿Que esta pasando aqui?