Cómo utilizar Pandas DataFrame Index
Con la indexación de DataFrames de la Biblioteca Python Pandas podrás acceder de una forma eficiente y directa a datos específicos dentro de un DataFrame. Con la ayuda de un índice de DataFrames de Pandas se pueden seleccionar filas y columnas específicas dentro del DataFrame, lo que puede resultar muy útil para el análisis de datos.
- Rápido, seguro, flexible y escalable
- Certificado SSL/DDoS incluido
- Dominio y asesor personal incluidos
¿En qué consiste la indexación?
Cuando se indexa un DataFrame de Pandas, el objetivo es facilitar la selección de determinados elementos del DataFrame. Esto se hace seleccionando filas y columnas según sus posiciones o etiquetas. Los índices sirven para encontrar y manipular datos de una forma más rápida, ya que ofrecen una especie de “sistema de direcciones” para la estructura de datos.
Sintaxis de la propiedad DataFrame.index
de Pandas
Puedes utilizar la propiedad index
para ver las etiquetas de un índice de un DataFrame. La sintaxis es la siguiente:
DataFrame.index
pythonSintaxis de la indexación de DataFrames
Existen diferentes formas de indexar un DataFrame de Pandas y la sintaxis de la indexación varía dependiendo de la operación que desees realizar.
Indexación con etiquetas (nombres de columnas)
Puedes utilizar los nombres de las columnas del DataFrame de Pandas para la indexación. Aquí tienes un ejemplo:
import pandas as pd
# Ejemplo de DataFrame
data = {
'Nombre': ['Alicia', 'Juan', 'Carlos'],
'Edad': [25, 30, 35],
'Ciudad': ['Madrid', 'Lugo', 'Cádiz']
}
df = pd.DataFrame(data)
print(df)
pythonEl aspecto del DataFrame resultante sería el siguiente:
Nombre Edad Ciudad
0 Alicia 25 Madrid
1 Juan 30 Lugo
2 Carlos 35 Cádiz
Para acceder a todos los valores de una columna específica, puedes utilizar el nombre de la columna con el operador de indexación []
para su indexación. Para ello, introduce el nombre de la columna como una cadena de Python en el operador de indexación:
# Acceso a la columna “Edad”
print(df['Edad'])
pythonComo resultado, se obtienen los diferentes valores de las edades:
0 25
1 30
2 35
Name: Edad, dtype: int64
Si quieres que se muestren varias columnas, no solo una, puedes indicar los nombres de dichas columnas separados por comas en el operador de indexación.
Indexación con loc[]
(nombres de filas)
Para poder acceder a una fila específica de tu DataFrame, necesitarás el indexador loc de Pandas. Puedes pasarle el nombre de la fila o el número de la fila. En el siguiente ejemplo, se usa el DataFrame anterior y, en este caso, se extraerá la primera columna con los valores de “Alicia”:
print(df.loc[0])
pythonComo resultado, aparecen los valores previstos, es decir, los que pertenecen a “Alicia”:
Nombre Alicia
Edad 25
Ciudad Madrid
Name: 0, dtype: object
Indexación con iloc[]
(números de filas y columnas)
Existe otra forma de acceder a elementos específicos de un DataFrame y. probablemente, sea la más conocida: la indexación con números de filas y columnas. Para trabajar con el índice numérico del DataFrame de Pandas necesitarás la propiedad iloc del DataFrame.
# Acceso a la primera fila
print(df.iloc[0])
# Acceso al valor en la primera fila y la segunda columna
print(df.iloc[0, 1])
pythonLos resultados que obtenemos al usar la propiedad iloc[]
son los siguientes:
Nombre Alicia
Edad 25
Ciudad Madrid
Name: 0, dtype: object
25
Indexación de valores individuales
Si solo te interesa un valor específico del DataFrame, puedes usar el indexador at
, que te permitirá extraer ese valor de una forma rápida y muy clara. Para ello, define la fila y la columna correspondientes con sus nombres. Si el valor que nos interesa es el lugar de residencia de Juan, indicaremos la columna “Ciudad” y la primera fila para obtenerlo:
print(df.at(1, 'Ciudad'))
pythonEl resultado es la ciudad en la que vive Juan, es decir, Lugo.
También existe la posibilidad de utilizar el indexador iat
, que funciona de forma similar a at
, pero en lugar de usar los nombres de las filas y columnas, como en el ejemplo anterior, hay que usar la posición numérica. Podemos obtener el mismo resultado que en el ejemplo anterior utilizando iat
:
print(df.iat(1, 2))
pythonIndexación booleana
Los subconjuntos de un DataFrame también se pueden indexar usando condiciones específicas. En este caso, hablamos de la llamada indexación booleana. La condición que desees comprobar debe evaluarse como verdadera (True
) o falsa (False
) y se coloca directamente dentro del operador de indexación. Por ejemplo, si quisiéramos extraer solo las filas en las que la persona sea mayor de 30 años, podríamos hacerlo así:
# Selección de las filas en las que la edad sea superior a 30
print(df[df[Edad] > 30])
pythonComo era de esperar, la condición anterior solo se cumple para Carlos, que tiene 35 años. Por lo tanto, el resultado es el siguiente:
Nombre Edad Ciudad
2 Carlos 35 Cádiz
Ten en cuenta que puedes utilizar todos los operadores de comparación booleanos que se evalúan como True
o False
. Aprende todo lo que necesitas saber sobre los operadores de Python en nuestra guía.