Manejo de etiquetas duplicadas

JavaScriptJavaScriptBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderemos a manejar etiquetas duplicadas en pandas. Pandas es una poderosa biblioteca de manipulación de datos en Python. A menudo, encontramos datos con etiquetas de fila o columna duplicadas, y es crucial entender cómo detectar y manejar estos duplicados.

Consejos sobre la VM

Una vez que se haya iniciado la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.

Importando las bibliotecas necesarias

Primero, necesitamos importar las bibliotecas pandas y numpy, que nos ayudarán a crear y manipular datos.

## Importando las bibliotecas necesarias
import pandas as pd
import numpy as np

Comprendiendo las consecuencias de las etiquetas duplicadas

Las etiquetas duplicadas pueden cambiar el comportamiento de ciertas operaciones en pandas. Por ejemplo, algunos métodos no funcionan cuando hay duplicados.

## Creando una Serie de pandas con etiquetas duplicadas
s1 = pd.Series([0, 1, 2], index=["a", "b", "b"])

## Intentando reindexar la Serie
try:
    s1.reindex(["a", "b", "c"])
except Exception as e:
    print(e)

Duplicados en el índice

A continuación, veremos cómo los duplicados en el índice pueden conducir a resultados inesperados.

## Creando un DataFrame con etiquetas de columna duplicadas
df1 = pd.DataFrame([[0, 1, 2], [3, 4, 5]], columns=["A", "A", "B"])

## Indexando 'B' devuelve una Serie
print(df1["B"])

## Indexando 'A' devuelve un DataFrame
print(df1["A"])

Detectando etiquetas duplicadas

Podemos comprobar si hay etiquetas duplicadas utilizando los métodos Index.is_unique y Index.duplicated().

## Comprobando si el índice tiene etiquetas únicas
print(df1.index.is_unique)

## Comprobando si las columnas tienen etiquetas únicas
print(df1.columns.is_unique)

## Detectando etiquetas duplicadas en el índice
print(df1.index.duplicated())

No permitir etiquetas duplicadas

Si es necesario, podemos no permitir etiquetas duplicadas utilizando el método set_flags(allows_duplicate_labels=False).

## No permitir etiquetas duplicadas en una Serie
try:
    pd.Series([0, 1, 2], index=["a", "b", "b"]).set_flags(allows_duplicate_labels=False)
except Exception as e:
    print(e)

## No permitir etiquetas duplicadas en un DataFrame
try:
    pd.DataFrame([[0, 1, 2], [3, 4, 5]], columns=["A", "B", "C"]).set_flags(allows_duplicate_labels=False)
except Exception as e:
    print(e)

Comprobando y configurando la bandera de etiquetas duplicadas

Finalmente, podemos comprobar y configurar la bandera allows_duplicate_labels en un DataFrame.

## Creando un DataFrame y configurando allows_duplicate_labels en False
df = pd.DataFrame({"A": [0, 1, 2, 3]}, index=["x", "y", "X", "Y"]).set_flags(allows_duplicate_labels=False)

## Comprobando la bandera allows_duplicate_labels
print(df.flags.allows_duplicate_labels)

## Configurando allows_duplicate_labels en True
df2 = df.set_flags(allows_duplicate_labels=True)
print(df2.flags.allows_duplicate_labels)

Resumen

En este laboratorio, aprendimos cómo manejar etiquetas duplicadas en pandas. Comprendimos las consecuencias de tener etiquetas duplicadas, aprendimos cómo detectarlas y cómo no permitirlas si es necesario. Esta es una habilidad esencial al trabajar con grandes conjuntos de datos donde las etiquetas duplicadas podrían potencialmente conducir a un análisis y resultados de datos erróneos.

OSZAR »