Python es un excelente lenguaje para realizar análisis de datos, principalmente debido al fantástico ecosistema de paquetes de Python centrados en datos. Pandas es uno de esos paquetes y facilita mucho la importación y el análisis de datos.
Una parte importante del análisis de datos es analizar valores duplicados y eliminarlos. El método pandas drop_duplicates() ayuda a eliminar duplicados del marco de datos.
Sintaxis: DataFrame.drop_duplicates(subset=None, keep=’first’, inplace=False)
Parámetros:
subset: Subset toma una columna o lista de etiquetas de columna. Su valor predeterminado es ninguno. Después de pasar columnas, las considerará solo para duplicados.
keep: keep es para controlar cómo considerar el valor duplicado. Solo tiene tres valores distintos y el valor predeterminado es ‘primero’.
- Si es ‘primero’, considera el primer valor como único y el resto de los mismos valores como duplicados.
- Si es ‘último’, considera el último valor como único y el resto de los mismos valores como duplicados.
- Si es falso, considera todos los mismos valores como duplicados
inplace: valores booleanos, elimina filas con duplicados si es True.
Tipo de retorno: DataFrame con filas duplicadas eliminadas según los argumentos pasados.
Para descargar el archivo CSV utilizado, haga clic aquí.
Ejemplo n.° 1: Eliminación de filas con el mismo nombre
En el siguiente ejemplo, se eliminan las filas que tienen el mismo nombre y se devuelve un nuevo marco de datos.
Python
# importing pandas package import pandas as pd # making data frame from csv file data = pd.read_csv("employees.csv") # sorting by first name data.sort_values("First Name", inplace = True) # dropping ALL duplicate values data.drop_duplicates(subset ="First Name", keep = False, inplace = True) # displaying data data
Salida:
como se muestra en la imagen, las filas con los mismos nombres se eliminaron del marco de datos.
Ejemplo #2: Eliminar filas con todos los valores duplicados
En este ejemplo, se eliminarán las filas que tengan todos los valores. Dado que el archivo csv no tiene esa fila, primero se duplica una fila aleatoria y se inserta en el marco de datos.
Python
#importing pandas package import pandas as pd # making data frame from csv file data = pd.read_csv("employees.csv") #length before adding row length1 = len(data) # manually inserting duplicate of a row of row 440 data.loc[1001] = [data["First Name"][440], data["Gender"][440], data["Start Date"][440], data["Last Login Time"][440], data["Salary"][440], data["Bonus %"][440], data["Senior Management"][440], data["Team"][440]] # length after adding row length2= len(data) # sorting by first name data.sort_values("First Name", inplace=True) # dropping duplicate values data.drop_duplicates(keep=False,inplace=True) # length after removing duplicates length3=len(data) # printing all data frame lengths print(length1, length2, length3)
Salida:
como se muestra en la imagen de salida, la longitud después de eliminar los duplicados es 999. Dado que el parámetro de mantenimiento se estableció en Falso, se eliminaron todas las filas duplicadas.
Publicación traducida automáticamente
Artículo escrito por Kartikaybhutani y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA