Saltar al contenido

Suelta todas las filas duplicadas en varias columnas en Python Pandas

Solución:

Esto es mucho más fácil en pandas ahora con drop_duplicates y el parámetro keep.

import pandas as pd
df = pd.DataFrame({"A":["foo", "foo", "foo", "bar"], "B":[0,1,1,1], "C":["A","A","B","A"]})
df.drop_duplicates(subset=['A', 'C'], keep=False)

Solo quiero agregar a la respuesta de Ben sobre drop_duplicates:

keep : {‘primero’, ‘último’, falso}, predeterminado ‘primero’

  • primero: elimine los duplicados excepto la primera aparición.

  • último: Elimina los duplicados excepto la última aparición.

  • Falso: elimine todos los duplicados.

Así que estableciendo keep a Falso le dará la respuesta deseada.

DataFrame.drop_duplicates (* args, ** kwargs) Devuelve DataFrame con filas duplicadas eliminadas, opcionalmente solo considerando ciertas columnas

Parámetros: subconjunto: etiqueta de columna o secuencia de etiquetas, opcional Considere solo ciertas columnas para identificar duplicados, de forma predeterminada, utilice todas las columnas. por primera vez. último: Elimina los duplicados excepto la última aparición. Falso: elimine todos los duplicados. take_last: obsoleto inplace: boolean, default False Ya sea para colocar duplicados en su lugar o devolver una copia cols: kwargs único argumento del subconjunto [deprecated] Devoluciones: deduplicado: DataFrame

Si desea que el resultado se almacene en otro conjunto de datos:

df.drop_duplicates(keep=False)

o

df.drop_duplicates(keep=False, inplace=False)

Si es necesario actualizar el mismo conjunto de datos:

df.drop_duplicates(keep=False, inplace=True)

Los ejemplos anteriores eliminarán todos los duplicados y mantendrán uno, similar a DISTINCT * en SQL

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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