Tengo un dataframe de pandas de la siguiente manera:
ABC 1 2 x 1 2 y 3 4 z 3 5 x
Quiero que solo quede 1 fila de filas que comparten los mismos valores en columnas específicas. En el ejemplo anterior me refiero a las columnas A y B. En otras palabras, si los valores de las columnas A y B aparecen más de una vez en el dataframe, solo debe quedar una fila (la que no importa).
FWIW: el número máximo de las llamadas filas duplicadas (es decir, donde las columnas A y B son iguales) es 2.
El resultado debería verse así:
ABC 1 2 x 3 4 z 3 5 x
o
ABC 1 2 y 3 4 z 3 5 x
Use drop_duplicates
con el subset
parámetros, para mantener solo las últimas filas duplicadas agregue keep='last'
:
df1 = df.drop_duplicates(subset=['A','B']) #same as #df1 = df.drop_duplicates(subset=['A','B'], keep='first') print (df1) ABC 0 1 2 x 2 3 4 z 3 3 5 x
df2 = df.drop_duplicates(subset=['A','B'], keep='last') print (df2) ABC 1 1 2 y 2 3 4 z 3 3 5 x