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
subset
Parameter PandasDataFrame.set_index()
Methode -
Beispiel-Codes: Set
keep
Parameter PandasDataFrame.set_index()
Methode -
Beispiel-Codes: Setze
ignore_index
Parameter 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