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