Pandas DataFrame.loc[] es un indexador de la Biblioteca Python Pandas que se utiliza para seleccionar datos de un DataFrame basándose en etiquetas. De esta manera, puedes extraer filas y columnas específicas de un DataFrame.

Hosting
El hosting como nunca lo habías visto
  • Rápido, seguro, flexible y escalable
  • Certificado SSL/DDoS incluido
  • Dominio y asesor personal incluidos

Sintaxis de Pandas loc[]

El parámetro que se le pasa a loc[] es la selección de etiquetas deseada. Por lo demás, la sintaxis es muy simple:

DataFrame.loc[selection]
python

En Pandas loc[], la selección se realiza principalmente en función de etiquetas. El parámetro que se pasa puede ser una etiqueta individual, una lista o un rango de etiquetas. Sin embargo, también se pueden utilizar arrays booleanos.

Diferencias entre loc[] y iloc[]

Mientras que Pandas DataFrame.loc[] selecciona datos basados en etiquetas, existe otro indexador similar en Pandas, DataFrame.iloc, que se utiliza para seleccionar datos basados en posiciones de enteros.

El siguiente ejemplo ilustra de una forma clara las diferencias entre ambos indexadores. Primero, se crea un DataFrame de Pandas:

import pandas as pd
# Ejemplo de DataFrame
data = {'Nombre': ['Ana', 'Juan', 'Tomás'], 'Edad': [23, 35, 30]}
df = pd.DataFrame(data)
print(df)
python

El DataFrame resultante sería el siguiente:

Nombre   Edad
0      Ana     23
1     Juan     35
2    Tomás     30

Si quisiéramos extraer a “Ana” del DataFame, se podrían utilizar tanto loc[] como iloc[]. El resultado que se obtiene es el mismo, pero siguiendo dos rutas diferentes:

# Con loc por etiqueta
print(df.loc[0, 'Nombre'])  # Salida: 'Ana'
# Con iloc por posición
print(df.iloc[0, 0])  # Salida: 'Ana'
python

Cómo utilizar Pandas DataFrame.loc[]

Pandas loc[] sirve para extraer subconjuntos de un DataFrame, ya sea una o varias filas o columnas. El indexador loc[] puede tener diferentes aplicaciones de uso.

Selección de una fila individual

A continuación, crearemos un DataFrame de ejemplo usando el siguiente código:

import pandas as pd
data = {
    'Nombre': ['Ana', 'Juan', 'Tomás'],
    'Edad': [23, 35, 30],
    'Ciudad': ['León', 'Madrid', 'Salamanca']
}
df = pd.DataFrame(data)
print(df)
python

El DataFrame resultante sería el siguiente:

Nombre  Edad    Ciudad
0      Ana    23      León
1     Juan    35    Madrid
2    Tomás    30 Salamanca

Para seleccionar los datos de la fila con el índice 1 (que corresponde a Juan), se puede utilizar el indexador Pandas loc[]:

juan_data = df.loc[1]
print(juan_data)
python

El resultado sería el siguiente:

Nombre         Juan
Edad             35
Ciudad       Madrid
Name: 1, dtype: object

Selección de varias columnas

También puedes usar DataFrame.loc[] para seleccionar un subconjunto de columnas. El código selecciona las columnas “Nombre” y “Ciudad” para todas las filas:

name_stadt = df.loc[:, ['Nombre', 'Ciudad']]
print(name_stadt)
python

Como resultado, obtienes un subconjunto del DataFrame original:

Nombre    Ciudad
0      Ana      León
1     Juan    Madrid
2    Tomás Salamanca

Selección basada en una condición

Con Pandas loc[] también es posible seleccionar filas basadas en una condición. En este caso, se utilizan operadores de comparación booleanos. En el siguiente código, por ejemplo, se filtrarán todas las personas que tienen más de 25 años:

older_than_25 = df.loc[df['Edad'] > 25]
print(older_than_25)
python
Nombre  Edad    Ciudad
1     Juan    35    Madrid
2    Tomás    30 Salamanca
¿Le ha resultado útil este artículo?
Ir al menú principal