J'ai un cadre de données de pandas qui ressemble à ceci.
'Column1' 'Column2' 'Column3'
'cat' 'bat'. 'xyz'
'toy' 'flower'. 'abc'
'cat' 'bat' 'lmn'
Je veux identifier que le chat et la chauve-souris ont les mêmes valeurs que celles qui ont été répétées. Par conséquent, je veux supprimer un enregistrement et ne conserver que le premier. Le bloc de données résultant ne devrait avoir que.
'Column1' 'Column2' 'Column3'
'cat'. 'bat'. 'xyz'
'toy'. 'flower'. 'abc'
Utilisation de drop_duplicates
avec subset
avec une liste de colonnes pour vérifier les doublons et keep='first'
pour conserver le premier des doublons.
Si dataframe
est:
df = pd.DataFrame({'Column1': ["'cat'", "'toy'", "'cat'"],
'Column2': ["'bat'", "'flower'", "'bat'"],
'Column3': ["'xyz'", "'abc'", "'lmn'"]})
print(df)
Résultat:
Column1 Column2 Column3
0 'cat' 'bat' 'xyz'
1 'toy' 'flower' 'abc'
2 'cat' 'bat' 'lmn'
Ensuite:
result_df = df.drop_duplicates(subset=['Column1', 'Column2'], keep='first')
print(result_df)
Résultat:
Column1 Column2 Column3
0 'cat' 'bat' 'xyz'
1 'toy' 'flower' 'abc'
import pandas as pd
df = pd.DataFrame({"Column1":["cat", "dog", "cat"],
"Column2":[1,1,1],
"Column3":["C","A","B"]})
df = df.drop_duplicates(subset=['Column1'], keep='first')
print(df)
Dans la méthode drop_duplicates()
de Dataframe
, vous pouvez fournir une série de noms de colonnes pour éliminer les enregistrements en double de vos données.
Le code "testé" suivant fait la même chose:
import pandas as pd
df = pd.DataFrame()
df.insert(loc=0,column='Column1',value=['cat', 'toy', 'cat'])
df.insert(loc=1,column='Column2',value=['bat', 'flower', 'bat'])
df.insert(loc=2,column='Column3',value=['xyz', 'abc', 'lmn'])
df = df.drop_duplicates(subset=['Column1','Column2'],keep='first')
print(df)
Dans le paramètre subset, vous pouvez également insérer d'autres noms de colonnes. Par défaut, toutes les colonnes de vos données sont considérées et vous pouvez indiquer la valeur de conservation comme suit: -