Objeto Index de Pandas

El objeto Index de Pandas es una clase base utilizada para identificar etiquetas de eje, y proporciona funciones ricas para representar y gestionar el índice de los datos.

Las siguientes son algunas características y usos clave del objeto Index:

  • Identificación única:IndexEl objeto proporciona identificadores únicos para los datos, lo cual es crucial para la selección y manipulación de datos.
  • Base de etiquetas: A diferencia de la indexación basada en posición (como la indexación de listas de Python),Indexpermite la indexación basada en etiquetas, lo que hace que la manipulación de datos sea más intuitiva y flexible.
  • Soporte de tipos de datos:IndexPuede contener varios tipos de datos, incluyendo enteros, flotantes, cadenas, fechas y horas, etc.

Pandas proporciona varios tipos diferentes de Index para diferentes escenarios:

  • RangeIndex: un objeto de índice de valores enteros que ahorra memoria, similar al `range` de Python.rangeobjeto.
  • Index: el tipo de índice más básico, que puede contener cualquier tipo de datos.
  • MultiIndex: un índice multinivel, que te permite tener varios niveles de índice, similar a varias columnas en un DataFrame.
  • DatetimeIndex: un índice optimizado para datos de fecha y hora, que proporciona funcionalidades relacionadas con fecha y hora.
  • PeriodIndex: un índice basado en periodos de tiempo, como años, trimestres, etc.
  • TimedeltaIndex: un índice basado en diferencias de tiempo (Δt).

Constructor de Index

Clase/Método Descripción
pd.Index(data, dtype, name) Crea un objeto Index, con soporte para datos personalizados, tipo de datos y nombre.

Atributos de Index

Atributo Descripción
Index.values Devuelve la parte de datos del Index (array de NumPy).
Index.dtype Devuelve el tipo de datos del Index.
Index.name Devuelve o establece el nombre del Index.
Index.shape Devuelve la forma del Index (en forma de tupla).
Index.size Devuelve el número de elementos del Index.
Index.nlevels Devuelve el número de niveles del Index (para MultiIndex).
Index.is_unique Comprueba si los valores del Index son únicos.
Index.is_monotonic Comprueba si el Index es monótonamente creciente.
Index.is_monotonic_decreasing Comprueba si el Index es monótonamente decreciente.
Index.has_duplicates Comprueba si el Index tiene valores duplicados.
Index.empty Comprueba si el Index está vacío.

Métodos de Index

Operaciones de datos

Método Descripción
Index.append(other) Añade otro Index al Index actual.
Index.drop(labels) Elimina la etiqueta especificada.
Index.insert(loc, item) Inserta un elemento en la posición especificada.
Index.unique() Devuelve los valores únicos del Index.
Index.drop_duplicates() Elimina los valores duplicados.
Index.sort_values() Ordena por valor.
Index.sort_values(ascending=False) Ordena por valor en orden descendente.
Index.tolist() Convierte el Index en una lista.
Index.to_numpy() Convierte el Index en un array de NumPy.
Index.to_frame() Convierte el Index en un DataFrame.
Index.astype(dtype) Convierte el Index al tipo de datos especificado.
Index.map(func) Aplica una función a cada elemento del Index.
Index.where(cond, other) Reemplaza valores según una condición.
Index.mask(cond, other) Reemplaza valores según una condición (a diferencia dewhere`where`).

Operaciones de indexación

Método Descripción
Index.get_loc(key) Devuelve la posición de la etiqueta especificada.
Index.get_indexer(target) Devuelve las posiciones del Index objetivo en el Index actual.
Index.slice_locs(start, end) Devuelve las posiciones de los slices para el rango especificado.
Index.intersection(other) Devuelve la intersección de dos Index.
Index.union(other) Devuelve la unión de dos Index.
Index.difference(other) Devuelve la diferencia de dos Index.
Index.symmetric_difference(other) Devuelve la diferencia simétrica de dos Index.
Index.isin(values) Comprueba si los valores del Index están en la lista especificada.
Index.reindex(target) Reindexa según el Index objetivo.
Index.reindex_like(other) Reindexa según otro Index.

Cálculos estadísticos

Método Descripción
Index.min() Devuelve el valor mínimo del Index.
Index.max() Devuelve el valor máximo del Index.
Index.argmin() Devuelve la posición del índice del valor mínimo.
Index.argmax() Devuelve la posición del índice del valor máximo.
Index.value_counts() Devuelve la frecuencia de cada valor en el Index.

Métodos de MultiIndex

Método Descripción
pd.MultiIndex.from_arrays() Crea un MultiIndex a partir de un array.
pd.MultiIndex.from_tuples() Crea un MultiIndex a partir de tuplas.
pd.MultiIndex.from_product() Crea un MultiIndex a partir del producto cartesiano.
MultiIndex.levels Devuelve los niveles del MultiIndex.
MultiIndex.codes Devuelve los códigos del MultiIndex.
MultiIndex.swaplevel(i, j) Intercambia las posiciones de dos niveles.
MultiIndex.droplevel(level) Elimina el nivel especificado.
MultiIndex.set_levels(levels) Establece los niveles del MultiIndex.
MultiIndex.set_codes(codes) Establece los códigos del MultiIndex.

Ejemplo

Ejemplo

import pandas as pd

# Crear un Index
idx = pd.Index([1, 2, 3], name='MyIndex')

# Ver atributos
print(idx.values)  # Mostrar la parte de datos
print(idx.name)    # Mostrar el nombre

# Operaciones de datos
idx_new = idx.append(pd.Index([4, 5]))
print(idx_new)  # Mostrar el Index después de añadir

# Operaciones de indexación
print(idx.get_loc(2))  # Mostrar la posición de la etiqueta 2

# Operaciones con MultiIndex
arrays = [[1, 1, 2, 2], ['A', 'B', 'A', 'B']]
multi_idx = pd.MultiIndex.from_arrays(arrays, names=('Num', 'Letter'))
print(multi_idx)

Si necesitas información más detallada, puedes consultarla documentación oficial de Pandas。

Otras extensiones