Funzione Pandas DataFrame DataFrame.drop_duplicates()
-
Sintassi di
pandas.DataFrame.drop_duplicates()
: -
Codici di esempio: rimuovere le righe duplicate utilizzando il metodo Pandas
DataFrame.set_index()
-
Codici di esempio: imposta il parametro
subset
nel metodo PandasDataFrame.set_index()
-
Codici di esempio: Imposta il parametro
keep
nel metodo PandasDataFrame.set_index()
-
Codici di esempio: imposta il parametro
ignore_index
nel metodo PandasDataFrame.set_index()
La funzione Python Pandas DataFrame.drop_duplicates()
rimuove tutte le righe duplicate dal DataFrame
.
Sintassi di 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)
Parametri
subset |
Etichetta di colonna o sequenza di etichette. Colonne da considerare durante l’identificazione dei duplicati |
keep |
first , last o False . Elimina tutti i duplicati tranne il primo (keep=first ), elimina tutti i duplicati tranne l’ultimo (keep=first ) o elimina tutti i duplicati (keep=False ) |
inplace |
Booleano. Se True modifica il chiamante DataFrame |
ignore_index |
Booleano. Se True , gli indici dell’originale DataFrame vengono ignorati. Il valore predefinito è False , il che significa che vengono utilizzati gli indici. |
Ritorno
Se inplace
è True
, un DataFrame
rimuove tutte le righe duplicate dal DataFrame
; altrimenti None
.
Codici di esempio: rimuovere le righe duplicate utilizzando il metodo Pandas DataFrame.set_index()
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)
Produzione:
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
Il DataFrame
originale ha la prima e la quarta riga identiche.
Puoi rimuovere tutte le righe duplicate dal DataFrame utilizzando il metodo drop_duplicates()
.
Codici di esempio: imposta il parametro subset
nel metodo 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_unique=df.drop_duplicates(subset ="Supplier")
print("DataFrame with Unique vales of Supplier Column:")
print(df_unique)
Produzione:
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
Questo metodo rimuove tutte le righe nel DataFrame, che non hanno valori univoci della colonna Supplier
.
Qui, la prima, la terza e la quarta riga hanno un valore comune della colonna Fornitore
. Quindi la terza e la quarta riga vengono rimosse dal DataFrame
; come per impostazione predefinita, la prima riga duplicata non verrà rimossa.
Codici di esempio: Imposta il parametro keep
nel metodo 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_unique=df.drop_duplicates(subset ="Supplier",keep="last")
print("DataFrame with Unique vales of Supplier Column:")
print(df_unique)
Produzione:
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
Questo metodo rimuove tutte le righe nel DataFrame
, che non hanno valori univoci della colonna Supplier
, mantenendo solo l’ultima riga duplicata.
Qui, la prima, la terza e la quarta riga hanno un valore comune della colonna Supplier
. Quindi la prima e la terza riga vengono rimosse dal DataFrame
.
Codici di esempio: imposta il parametro ignore_index
nel metodo 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)
Produzione:
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
Qui, poiché ignore_index
è impostato su True
, gli indici dell’originale DataFrame
vengono ignorati e vengono impostati nuovi indici per la riga.
A causa della funzione inplace=True
, l’originale DataFrame
viene modificato dopo aver chiamato la funzione ignore_index()
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn