Pandas DataFrame DataFrame.drop_duplicates()-Funktion
-
Syntax von
pandas.DataFrame.drop_duplicates(): -
Beispiel-Codes: Entfernen doppelter Zeilen mit Pandas
DataFrame.set_index()Methode -
Beispiel-Codes: Set
subsetParameter PandasDataFrame.set_index()Methode -
Beispiel-Codes: Set
keepParameter PandasDataFrame.set_index()Methode -
Beispiel-Codes: Setze
ignore_indexParameter in PandasDataFrame.set_index()Methode
Die Python Pandas DataFrame.drop_duplicates() Funktion entfernt alle doppelten Zeilen aus dem DataFrame.
Syntax von 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)
Parameter
subset |
Spaltenetikett oder Reihenfolge der Etiketten. Spalten, die bei der Identifizierung von Duplikaten zu berücksichtigen sind |
keep |
first, last oder False. Alle Duplikate außer dem ersten verwerfen (keep=first), alle Duplikate außer dem letzten verwerfen (keep=first) oder alle Duplikate verwerfen (keep=False) |
inplace |
Boolesch. Wenn True den Aufrufer DataFrame modifiziert |
ignore_index |
Boolesch. Wenn True, werden die Indizes aus dem ursprünglichen DataFrame ignoriert. Der Standardwert ist False, was bedeutet, dass die Indizes verwendet werden. |
Zurück
Wenn inplace gleich True ist, ein DataFrame, der alle doppelten Zeilen aus dem DataFrame entfernt; andernfalls None.
Beispiel-Codes: Entfernen doppelter Zeilen mit Pandas DataFrame.set_index() Methode
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)
Ausgabe:
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
Beim ursprünglichen DataFrame sind die 1. und 4. Zeile identisch.
Sie können alle doppelten Zeilen aus dem DataFrame entfernen, indem Sie die Methode drop_duplicates() verwenden.
Beispiel-Codes: Set subset Parameter Pandas DataFrame.set_index() Methode
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)
Ausgabe:
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
Diese Methode entfernt alle Zeilen im DataFrame, die keine eindeutigen Werte in der Spalte Supplier haben.
Hier haben die 1., 3. und 4. Zeile einen gemeinsamen Wert in der Spalte Supplier. Die 3. und 4. Zeile werden also aus dem DataFrame entfernt; standardmäßig wird die erste doppelte Zeile nicht entfernt.
Beispiel-Codes: Set keep Parameter Pandas DataFrame.set_index() Methode
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)
Ausgabe:
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
Diese Methode entfernt alle Zeilen im DataFrame, die keine eindeutigen Werte der Spalte Supplier haben, wobei nur die letzte doppelte Zeile erhalten bleibt.
Hier haben die 1., 3. und 4. Zeile einen gemeinsamen Wert der Spalte Supplier. Daher werden die 1. und 3. Zeile aus dem DataFrame entfernt.
Beispiel-Codes: Setze ignore_index Parameter in Pandas DataFrame.set_index() Methode
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)
Ausgabe:
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
Wenn hier ignore_index auf True gesetzt wird, werden die Indizes aus dem ursprünglichen DataFrame ignoriert und neue Indizes für die Zeile gesetzt.
Aufgrund der Funktion inplace=True wird der originale DataFrame nach dem Aufruf der Funktion ignore_index() modifiziert.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn