Función Pandas DataFrame DataFrame.drop_duplicates()
-
La sintaxis de
pandas.DataFrame.drop_duplicates(): -
Códigos de ejemplo: Eliminar filas duplicadas usando el método Pandas
DataFrame.set_index() -
Códigos de ejemplo: Establecer el parámetro
subseten PandasDataFrame.set_index()método -
Códigos de ejemplo: Establece el parámetro
keepen PandasDataFrame.set_index()método -
Códigos de ejemplo: Establece el parámetro
ignore_indexen el Método PandasDataFrame.set_index()
La función Python Pandas DataFrame.drop_duplicates() elimina todas las filas duplicadas del DataFrame.
La sintaxis 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 de columna o secuencia de etiquetas. Columnas a tener en cuenta al identificar los duplicados |
keep |
first, last o False. Suelta todos los duplicados excepto el primero, suelta todos los duplicados excepto el último o suelta todos los duplicados. |
inplace |
Booleana. Si True modifica el llamador DataFrame |
ignore_index |
Booleana. Si True, los índices del DataFrame original son ignorados. El valor por defecto es False, lo que significa que se utilizan los índices. |
Retorna
Si inplace es True, un DataFrame eliminando todas las filas duplicadas del DataFrame; de lo contrario, None.
Códigos de ejemplo: Eliminar filas duplicadas usando el método 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)
Producción:
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
El DataFrame original tiene la primera y la cuarta fila idénticas.
Puedes eliminar todas las filas duplicadas del DataFrame usando el método drop_duplicates().
Códigos de ejemplo: Establecer el parámetro subset en Pandas DataFrame.set_index() método
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)
Producción:
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 elimina todas las filas del DataFrame, que no tienen valores únicos de la columna Supplier.
Aquí, las filas 1ra, 3ra y 4ta tienen un valor común de la columna Supplier. Así que las filas 3ª y 4ª se eliminan del DataFrame; como por defecto, la primera fila duplicada no será eliminada.
Códigos de ejemplo: Establece el parámetro keep en Pandas DataFrame.set_index() método
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)
Producción:
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 elimina todas las filas del DataFrame, que no tienen valores únicos de la columna Supplier, manteniendo sólo la última fila duplicada.
Aquí, la primera, tercera y cuarta fila tienen un valor común de la columna Supplier. Así que la 1ª y 3ª fila se eliminan del DataFrame.
Códigos de ejemplo: Establece el parámetro ignore_index en el 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)
Producción:
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
Aquí, como ignore_index se establece en True, los índices del DataFrame original son ignorados, y se establecen nuevos índices para la fila.
Debido a la función inplace=True, el DataFrame original se modifica después de llamar a la función ignore_index().
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn