Quiero soltar filas donde todos los valores son iguales. Pero, quiero una solución que pueda aplicarse a 1,2,3,4 ... n columnas.
df = pd.DataFrame({"Col1":[1,4,2,5,1,4],
"Col2":[4,5,2,2,3,4],
"Col3":[5,1,2,5,1,4],
"Col4":[3,1,2,4,2,4]})
print(df)
Col1 Col2 Col3 Col4
0 1 4 5 3
1 4 5 1 1
2 2 2 2 2 # delete
3 5 2 5 4
4 1 3 1 2
5 4 4 4 4 # delete
Este es el ejemplo de 4 columnas, pero no sé cómo encontrar una solución para esto. Entonces, en este caso, las filas 2 y 5 deberían descartarse.
nunique
df[df.nunique(axis=1) > 1]
Col1 Col2 Col3 Col4
0 1 4 5 3
1 4 5 1 1
3 5 2 5 4
4 1 3 1 2
nunique(axis=1)
le dice el número de valores únicos en una fila:
df.nunique(axis=1)
0 4
1 3
2 1
3 3
4 3
5 1
dtype: int64
Desde aquí realiza una comparación,
df.nunique(axis=1) > 1
0 True
1 True
2 False
3 True
4 True
5 False
dtype: bool
para encontrar las filas que satisfacen su condición, luego el índice booleano en df
.
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras