Posterior a consultar con expertos en esta materia, programadores de varias áreas y profesores dimos con la solución al problema y la dejamos plasmada en este post.
Solución:
Puedes usar all
con boolean indexing
:
print ((df == 'something1').all(1))
0 True
1 False
2 True
3 False
4 False
dtype: bool
print (df[(df == 'something1').all(1)])
col1 col2
0 something1 something1
2 something1 something1
EDITAR:
Si necesita seleccionar solo algunas columnas que puede usar isin
con boolean indexing
para seleccionar deseado columns
y luego usar subset
– df[cols]
:
print (df)
col1 col2 col3
0 something1 something1 a
1 something2 something3 s
2 something1 something1 r
3 something2 something3 a
4 something1 something2 a
cols = df.columns[df.columns.isin(['col1','col2'])]
print (cols)
Index(['col1', 'col2'], dtype='object')
print (df[(df[cols] == 'something1').all(1)])
col1 col2 col3
0 something1 something1 a
2 something1 something1 r
Por qué no:
df[(df.col1 == 'something1') | (df.col2 == 'something1')]
salidas:
col1 col2
0 something1 something1
2 something1 something1
4 something1 something2
Recuerda que tienes autorización de glosar tu experiencia si te fue de ayuda.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)