web-dev-qa-db-fra.com

comment puis-je supprimer les lignes avec les valeurs en double des colonnes dans le cadre de données pandas?

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'   
3
Sayonti

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'
3
student
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)
0
zafrin

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: -

  • first: supprime les doublons sauf pour la première occurrence.
  • last: supprime les doublons sauf pour la dernière occurrence.
  • False: Supprime tous les doublons.
0
Jay Dangar