Comment supprimer les doublons dans une dataframe avec pandas en python ?

Comment supprimer les doublons dans une dataframe avec pandas en python ?

Daidalos 15 juin 2020


Exemple de comment supprimer les doublons dans une dataframe avec pandas en python:

1 -- Créer une dataframe

Commençons par créer une simple dataframe avec pandas:

import pandas as pd

data = {'Name':['Ben','Anna','Anna','Anna','Zoe','Zoe','Tom','John','Steve'], 
        'Age':[20,27,27,27,43,43,30,12,21], 
        'Sex':[1,0,0,0,0,0,1,1,1]}

df = pd.DataFrame(data)

print(df)

donne

    Name  Age  Sex
0    Ben   20    1
1   Anna   27    0
2   Anna   27    0
3   Anna   27    0
4    Zoe   43    0
5    Zoe   43    0
6    Tom   30    1
7   John   12    1
8  Steve   21    1

2 -- Supprimer les doublons

df.drop_duplicates(keep = 'first', inplace=True)

donne

    Name  Age  Sex
0    Ben   20    1
1   Anna   27    0
4    Zoe   43    0
6    Tom   30    1
7   John   12    1
8  Steve   21    1

3 -- Supprimer les doublons selon une colonne donnée

Autre exemple soit la dataframe suivante:

data = {'Name':['Ben','Anna','Anna','Anna','Zoe','Zoe','Tom','John','Steve'], 
        'Customer id':['0001','0005','0005','0005','0023','0023','0008','0009','0012'], 
        'Age':[20,27,23,24,43,43,30,12,21], 
        'Sex':[1,0,0,0,0,0,1,1,1]}

df = pd.DataFrame(data)

donne

    Name Customer id  Age  Sex
0    Ben        0001   20    1
1   Anna        0005   27    0
2   Anna        0005   23    0
3   Anna        0005   24    0
4    Zoe        0023   43    0
5    Zoe        0023   43    0
6    Tom        0008   30    1
7   John        0009   12    1
8  Steve        0012   21    1

Pour supprimer les doublons selon la colonne "Customer id" on peut faire comme ceci:

df.drop_duplicates(subset ="Customer id", keep = 'first', inplace=True)

qui donne:

    Name Customer id  Age  Sex
0    Ben        0001   20    1
1   Anna        0005   27    0
4    Zoe        0023   43    0
6    Tom        0008   30    1
7   John        0009   12    1
8  Steve        0012   21    1

4 -- Références