Python

Truco Python: eliminar los valores duplicados de una lista en Python

Un problema con el que nos podemos encontrar de forma más es la identificación de valores únicos en una lista. Ya que la existencia de valores duplicados no es se interés para el análisis que se desea realizar. Por eso, saber como eliminar los valores duplicados en una lista es un truco que debemos tener en nuestro arsenal. Otro truco que también puede ser de interés es contar el número de ocurrencias de cada valor en una lista, lo que también se comentará en esta entrada.

Eliminar los valores duplicados de una lista con for

Supongamos que tenemos una lista con diferentes números. Para obtener una nueva lista sin valores duplicados solamente tenemos que crear una nueva lista vacía recorrer la lista inicial y añadiendo los valores a la nueva lista si el valor no se encuentra en esta. Lo que se puede resolver con el siguiente código:

data = [1,3,2,4,7,3,2,2,1,4]

result = []
for item in data:
    if item not in result:
        result.append(item)
        
result
[1, 3, 2, 4, 7]

En donde se puede apreciar que la lista result contiene los valores de la lista inicial (data) sin valores duplicados. Para lo que solamente se ha utilizado código básico de Python.

Eliminar los valores duplicados de una lista con set

Una alternativa a la construcción de un bucle para eliminar los valores duplicados de una lista en Python es la instrucción set. Lo que genera una colección desordenada de objetos diferentes.

set(data)
{1, 2, 3, 4, 7}

Si lo que necesitamos es una lista para trabajar con ella solamente necesitamos convertirla con list.

list(set(data))
[1, 2, 3, 4, 7]

La principal diferencia respecto al caso anterior es que el resultado no respeta el orden de aparición en la lista original, sino que los valore se ordenarán según el valor. Por lo que este método puede no ser adecuado cuando es necesario conservar el orden de aparición de valores.

Uso de la librería Pandas

En la librería Pandas existe un método con el que obtener los valores únicos de un lista de valores. Un método que se llama unique.

import pandas as pd

pd.unique(data)

Contar el número de ocurrencias de cada valor

Finalmente pude que sea necesario contar el número de ocurrencias de cada uno de los registros. En este caso una solución puede ser crear un diccionario vacío y usar los valores como claves, sumando uno cada ve que se encuentra un valor duplicado. Proceso que se muestra en el siguiente código.

data = [(1,3),(7,3),(2,2),(2,4),(7,3),(2,2),(1,4),(7,3)]

result = {}
for item in data:
    if item not in result.keys():
        result[item] = 1
    else:
        result[item] += 1

result
{(1, 3): 1, (7, 3): 3, (2, 2): 2, (2, 4): 1, (1, 4): 1}

En donde las claves son los diferentes valores y los valores el número de ocurrencias. Para obtener un listado con los valores diferentes solamente hay que utilizar la propiedad que tiene todos los diccionarios keys().

list(result.keys())
[(1, 3), (7, 3), (2, 2), (2, 4), (1, 4)]

Conclusiones

En la entrada de hoy hemos visto un truco para Python con el que resolver un problema bastante habitual: eliminar los valores duplicados de una lista.

Imagen de Theodor Moise en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: PandasTruco

Recent Posts

Cómo crear un Data Lake en Azure paso a paso

El volumen de datos que las organizaciones generan y deben manejar crece día a día:…

22 horas ago

¿Por qué el azar no es tan aleatorio como parece?

Cuando escuchamos la palabra “azar”, pensamos en lo impredecible: una moneda que gira en el…

3 días ago

Detectan vulnerabilidad crítica en MLflow que permite ejecución remota de código

Una nueva vulnerabilidad crítica ha sido detectada en MLflow, la popular plataforma de código abierto…

4 días ago

Curiosidad: ¿Por qué los datos “raros” son tan valiosos?

En estadística, los valores atípicos —también llamados outliers— son esos datos que se alejan “demasiado”…

1 semana ago

Cómo generar contraseñas seguras con Python (y entender su nivel de seguridad)

Vivimos en un mundo cada vez más digital, donde gestionamos decenas (o incluso cientos) de…

1 semana ago

Cómo ejecutar JavaScript desde Python: Guía práctica con js2py

Aunque Python y JavaScript son lenguajes muy distintos en su propósito y ecosistema, no es…

2 semanas ago

This website uses cookies.