Beto :
Me gustaría df.drop_duplicates()
sede fuera un subconjunto, sino también ignorar si una columna tiene un valor específico.
Por ejemplo...
v1 v2 v3
ID
148 8751704.0 G dog
123 9082007.0 G dog
123 9082007.0 G dog
123 9082007.0 G cat
Me gustaría dejar duplicado [ID, v1]
pero ignoran si v3
es igual a cat
por lo menos así:
full_df.drop_duplicates([ID, v1], inplace=True, conditional=exclude v3 = cat)
La esperanza que tiene sentido
ansev:
Utilizar boolean indexing
con Series.duplicated
y pd.Index.duplicated
:
df[~(df['v1'].duplicated() & df.index.duplicated()) | df['v3'].eq('cat')]
Salida
v1 v2 v3
ID
148 8751704.0 G dog
123 9082007.0 G dog
123 9082007.0 G cat
si ID
no es el índice:
df[~df[['ID', 'v1']].duplicated() | df['v3'].eq('cat')]