Fonction Pandas DataFrame DataFrame.drop_duplicates()
-
Syntaxe de
pandas.DataFrame.drop_duplicates(): -
Exemples de codes : Supprimer les lignes en double en utilisant Pandas
DataFrame.set_index()Méthode -
Exemples de codes : Définissez le paramètre
subsetPandasDataFrame.set_index()Méthode -
Exemples de codes : Définissez le paramètre
keepPandasDataFrame.set_index()Méthode -
Exemples de codes : Définissez le paramètre
ignore_indexdans la méthode PandasDataFrame.set_index()
La fonction Python Pandas DataFrame.drop_duplicates() supprime toutes les lignes en double dans le DataFrame.
Syntaxe de pandas.DataFrame.drop_duplicates() :
DataFrame.drop_duplicates(subset: Union[Hashable, Sequence[Hashable], NoneType]=None,
keep: Union[str, bool]='first',
inplace: bool=False,
ignore_index: bool=False)
Paramètres
subset |
Étiquette de colonne ou séquence d’étiquettes. Colonnes à prendre en compte lors de l’identification des doublons |
keep |
first, last ou False. Supprimer tous les doublons sauf le premier (keep=first), supprimer tous les doublons sauf le dernier (keep=first) ou supprimer tous les doublons (keep=False) |
inplace |
Booléen. Si True, modifiez l’appelant DataFrame. |
ignore_index |
Booléen. Si True, les index de la DataFrame originale sont ignorés. La valeur par défaut est False, ce qui signifie que les index sont utilisés. |
Renvoie
Si inplace est True, un DataFrame supprimant toutes les lignes en double du DataFrame ; sinon None.
Exemples de codes : Supprimer les lignes en double en utilisant Pandas DataFrame.set_index() Méthode
import pandas as pd
fruit_list = [ ('Orange', 34, 'Yes' ,'ABC') ,
('Mango', 24, 'No','XYZ' ) ,
('banana', 14, 'No','BCD' ) ,
('Orange', 34, 'Yes' ,'ABC') ]
df = pd.DataFrame(fruit_list,
columns = ['Name',
'Price',
'In_Stock',
'Supplier'])
print("DataFrame:")
print(df)
df_unique=df.drop_duplicates()
print("DataFrame with Unique Rows:")
print(df_unique)
Production:
DataFrame:
Name Price In_Stock Supplier
0 Orange 34 Yes ABC
1 Mango 24 No XYZ
2 banana 14 No BCD
3 Orange 34 Yes ABC
DataFrame with Unique Rows:
Name Price In_Stock Supplier
0 Orange 34 Yes ABC
1 Mango 24 No XYZ
2 banana 14 No BCD
Le DataFrame original a la 1ère et la 4ème ligne identiques.
Vous pouvez supprimer toutes les lignes dupliquées du DataFrame en utilisant la méthode drop_duplicates().
Exemples de codes : Définissez le paramètre subset Pandas DataFrame.set_index() Méthode
import pandas as pd
fruit_list = [ ('Orange', 34, 'Yes' ,'ABC') ,
('Mango', 24, 'No','XYZ' ) ,
('banana', 14, 'No','ABC' ) ,
('Orange', 34, 'Yes' ,'ABC') ]
df = pd.DataFrame(fruit_list,
columns = ['Name',
'Price',
'In_Stock',
'Supplier'])
print("DataFrame:")
print(df)
df_unique=df.drop_duplicates(subset ="Supplier")
print("DataFrame with Unique vales of Supplier Column:")
print(df_unique)
Production:
DataFrame:
Name Price In_Stock Supplier
0 Orange 34 Yes ABC
1 Mango 24 No XYZ
2 banana 14 No ABC
3 Orange 34 Yes ABC
DataFrame with Unique vales of Supplier Column:
Name Price In_Stock Supplier
0 Orange 34 Yes ABC
1 Mango 24 No XYZ
Cette méthode supprime toutes les lignes du DataFrame, qui n’ont pas de valeurs uniques de la colonne Supplier.
Ici, les 1ère, 3ème et 4ème lignes ont une valeur commune de la colonne Supplier. Ainsi, les 3ème et 4ème lignes sont supprimées du DataFrame ; par défaut, la première ligne en double ne sera pas supprimée.
Exemples de codes : Définissez le paramètre keep Pandas DataFrame.set_index() Méthode
import pandas as pd
fruit_list = [ ('Orange', 34, 'Yes' ,'ABC') ,
('Mango', 24, 'No','XYZ' ) ,
('banana', 14, 'No','ABC' ) ,
('Orange', 34, 'Yes' ,'ABC') ]
df = pd.DataFrame(fruit_list,
columns = ['Name',
'Price',
'In_Stock',
'Supplier'])
print("DataFrame:")
print(df)
df_unique=df.drop_duplicates(subset ="Supplier",keep="last")
print("DataFrame with Unique vales of Supplier Column:")
print(df_unique)
Production:
DataFrame:
Name Price In_Stock Supplier
0 Orange 34 Yes ABC
1 Mango 24 No XYZ
2 banana 14 No ABC
3 Orange 34 Yes ABC
DataFrame with Unique vales of Supplier Column:
Name Price In_Stock Supplier
1 Mango 24 No XYZ
3 Orange 34 Yes ABC
Cette méthode supprime toutes les lignes de la DataFrame, qui n’ont pas de valeurs uniques de la colonne Supplier, en ne conservant que la dernière ligne en double.
Ici, les 1ère, 3ème et 4ème lignes ont une valeur commune de la colonne Supplier. Ainsi, les 1ère et 3ème lignes sont supprimées du DataFrame.
Exemples de codes : Définissez le paramètre ignore_index dans la méthode Pandas DataFrame.set_index()
import pandas as pd
fruit_list = [ ('Orange', 34, 'Yes' ,'ABC') ,
('Mango', 24, 'No','XYZ' ) ,
('banana', 14, 'No','ABC' ) ,
('Orange', 34, 'Yes' ,'ABC') ]
df = pd.DataFrame(fruit_list,
columns = ['Name',
'Price',
'In_Stock',
'Supplier'])
print("DataFrame:")
print(df)
df.drop_duplicates(subset ="Supplier",keep="last",inplace=True,ignore_index=True)
print("DataFrame with Unique vales of Supplier Column:")
print(df)
Production:
DataFrame:
Name Price In_Stock Supplier
0 Orange 34 Yes ABC
1 Mango 24 No XYZ
2 banana 14 No ABC
3 Orange 34 Yes ABC
DataFrame with Unique vales of Supplier Column:
Name Price In_Stock Supplier
0 Mango 24 No XYZ
1 Orange 34 Yes ABC
Ici, comme ignore_index est mis à True, les index de la DataFrame originale sont ignorés, et de nouveaux index sont mis pour la ligne.
Grâce à la fonction inplace=True, le DataFrame original est modifié après l’appel de la fonction ignore_index().
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn