Pandas DataFrame.loc[] es un indexador de la Bi­blio­te­ca Python Pandas que se utiliza para se­le­c­cio­nar datos de un DataFrame basándose en etiquetas. De esta manera, puedes extraer filas y columnas es­pe­cí­fi­cas de un DataFrame.

Web Hosting
El hosting que crece con tu proyecto
  • Tiempo de actividad de 99.99 % y seguridad ga­ra­n­ti­za­da
  • Aumenta el re­n­di­mie­n­to según el tráfico de tu página web
  • Incluye dominio, SSL, e-mail y soporte 24/7

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 pri­n­ci­pa­l­me­n­te en función de etiquetas. El parámetro que se pasa puede ser una etiqueta in­di­vi­dual, una lista o un rango de etiquetas. Sin embargo, también se pueden utilizar arrays booleanos.

Di­fe­re­n­cias entre loc[] y iloc[]

Mientras que Pandas DataFrame.loc[] se­le­c­cio­na datos basados en etiquetas, existe otro indexador similar en Pandas, DataFrame.iloc, que se utiliza para se­le­c­cio­nar datos basados en po­si­cio­nes de enteros.

El siguiente ejemplo ilustra de una forma clara las di­fe­re­n­cias entre ambos in­de­xa­do­res. 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 re­su­l­ta­n­te sería el siguiente:

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

Si qui­sié­ra­mos 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 di­fe­re­n­tes:

# 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 su­b­co­n­ju­n­tos de un DataFrame, ya sea una o varias filas o columnas. El indexador loc[] puede tener di­fe­re­n­tes apli­ca­cio­nes de uso.

Selección de una fila in­di­vi­dual

A co­n­ti­nua­ció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 re­su­l­ta­n­te sería el siguiente:

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

Para se­le­c­cio­nar los datos de la fila con el índice 1 (que co­rre­s­po­n­de 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 se­le­c­cio­nar un su­b­co­n­ju­n­to de columnas. El código se­le­c­cio­na las columnas “Nombre” y “Ciudad” para todas las filas:

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

Como resultado, obtienes un su­b­co­n­ju­n­to 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 se­le­c­cio­nar filas basadas en una condición. En este caso, se utilizan ope­ra­do­res de co­m­pa­ra­ció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
Ir al menú principal