Pandas DataFrame DataFrame.drop_duplicates() Função
-
Sintaxe de
pandas.DataFrame.drop_duplicates()
: -
Códigos de exemplo: Remover linhas duplicadas utilizando Pandas
DataFrame.set_index()
Método -
Códigos de exemplo: definir o parâmetro
subset
no método PandasDataFrame.set_index()
-
Códigos de exemplo: Set
keep
Parameter in PandasDataFrame.set_index()
Method -
Códigos de exemplo: defina o parâmetro
ignore_index
no método PandasDataFrame.set_index()
A função Python Pandas DataFrame.drop_duplicates()
remove todas as filas duplicadas do DataFrame
.
Sintaxe 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)
Parâmetros
subset |
Etiqueta da coluna ou Sequência de etiquetas. Colunas a considerar na identificação de duplicados |
keep |
first , last ou False . Deixar cair todas as duplicações excepto a primeira(keep=first ), deixar cair todas as duplicações excepto a última(keep=first ) ou deixar cair todas as duplicações(keep=false ) |
inplace |
Booleano. Se True modificar o autor da chamada DataFrame . |
ignore_index |
Booleano. Se True , os índices do DataFrame original são ignorados. O valor por defeito é False , o que significa que os índices são utilizados. |
Devolver
Se inplace
é True
, um DataFrame
remove todas as linhas duplicadas do DataFrame
; caso contrário, None
.
Códigos de exemplo: Remover linhas duplicadas utilizando Pandas DataFrame.set_index()
Método
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)
Resultado:
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
O DataFrame
original tem a 1ª e 4ª filas idênticas.
Pode remover todas as linhas duplicadas da DataFrame utilizando o método drop_duplicates()
.
Códigos de exemplo: definir o parâmetro subset
no método 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)
Resultado:
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
Este método remove todas as linhas da DataFrame, que não têm valores únicos da coluna Supplier
.
Aqui, a 1ª, 3ª e 4ª filas têm um valor comum da coluna Supplier
. Assim, a 3ª e 4ª linhas são removidas da DataFrame
; como por defeito, a primeira linha duplicada não será removida.
Códigos de exemplo: Set keep
Parameter in Pandas DataFrame.set_index()
Method
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)
Resultado:
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
Este método remove todas as linhas da DataFrame
, que não têm valores únicos da coluna Supplier
, mantendo apenas a última linha duplicada.
Aqui, a 1ª, 3ª e 4ª linhas têm um valor comum da coluna Supplier
. Assim, a 1ª e 3ª filas são removidas da coluna DataFrame
.
Códigos de exemplo: defina o parâmetro ignore_index
no método 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)
Resultado:
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
Aqui, como ignore_index
está definido para True
, os índices do DataFrame
original são ignorados, e novos índices são definidos para a linha.
Devido à função inplace=True
, o DataFrame
original é modificado após chamar a função ignore_index()
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn