# Seleccionar datos de DataFrames con Pandas loc\[\]

Pandas `DataFrame.loc[]` es un indexador de la [Biblioteca Python Pandas](https://www.ionos.com/es-us/digitalguide/paginas-web/desarrollo-web/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.

## 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:

```python
DataFrame.loc[selection]
```

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](https://www.ionos.com/es-us/digitalguide/paginas-web/desarrollo-web/propiedad-iloc-de-pandas-en-python/), 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](https://www.ionos.com/es-us/digitalguide/paginas-web/desarrollo-web/dataframes-de-pandas-python/):

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

El DataFrame resultante sería el siguiente:

```none
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:

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

## 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:

```python
import pandas as pd
data = {
    'Nombre': ['Ana', 'Juan', 'Tomás'],
    'Edad': [23, 35, 30],
    'Ciudad': ['Detroit', 'Atlanta', 'Seattle']
}
df = pd.DataFrame(data)
print(df)
```

El DataFrame resultante sería el siguiente:

```none
Nombre  Edad    Ciudad
0      Ana    23    Detroit
1     Juan    35    Atlanta
2    Tomás    30    Seattle
```

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

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

El resultado sería el siguiente:

```none
Nombre         Juan
Edad             35
Ciudad      Atlanta
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:

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

Como resultado, obtienes un subconjunto del DataFrame original:

```none
Nombre     Ciudad
0      Ana    Detroit
1     Juan    Atlanta
2    Tomás    Seattle
```

### 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](https://www.ionos.com/digitalguide/online-marketing/web-analytics/boolean-search-operators/). En el siguiente código, por ejemplo, se filtrarán todas las personas que tienen más de 25 años:

```python
older_than_25 = df.loc[df['Edad'] > 25]
print(older_than_25)
```

```none
Nombre  Edad    Ciudad
1     Juan    35   Atlanta
2    Tomás    30   Seattle
```


This is a markdown version of: [https://www.ionos.com/es-us/digitalguide/paginas-web/desarrollo-web/pandas-dataframe-loc-en-python/](https://www.ionos.com/es-us/digitalguide/paginas-web/desarrollo-web/pandas-dataframe-loc-en-python/) for AI/LLM consumption.