# Pandas loc\[\]: Daten aus DataFrames auswählen

Pandas `DataFrame.loc[]` ist eine DataFrame-Eigenschaft in der Python-Pandas-Bibliothek, die dazu dient, Daten aus einem DataFrame basierend auf Bezeichnern (Labels) auszuwählen. So können Zeilen und Spalten eines DataFrames gezielt extrahiert werden.

## Syntax von Pandas `loc[]`

Man übergibt `loc[]` als Parameter die **gewünschte Labelauswahl**. Ansonsten ist die Syntax sehr einfach:

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

Bei Pandas `loc[]` wird die Auswahl vorrangig basierend auf Labeln vorgenommen. Der übergebene Parameter kann daher ein **einzelnes Label, eine Liste oder ein Slice von Labeln** sein. Doch auch Boolesche Arrays können genutzt werden.

## `loc[]` vs. `iloc[]`

Während Pandas `DataFrame.loc[]` Daten basierend auf Labels auswählt, wird das ähnlich klingende [DataFrame.iloc](https://www.ionos.com/de-ch/digitalguide/websites/web-entwicklung/python-pandas-dataframe-iloc/) verwendet, um Daten basierend auf Integer-basierten Positionen auszuwählen.

Folgendes Codebeispiel hilft zur Veranschaulichung der Unterschiede. Zunächst wird ein [Pandas DataFrame](https://www.ionos.com/de-ch/digitalguide/websites/web-entwicklung/python-pandas-dataframe/) erstellt:

```python
import pandas as pd
# Beispiel DataFrame
data = {'Name': ['Anna', 'Bob', 'Chris'], 'Alter': [23, 35, 30]}
df = pd.DataFrame(data)
print(df)
```

Der resultierende DataFrame sieht wie folgt aus:

```none
Name  Alter
0   Anna     23
1    Bob     35
2  Chris     30
```

Um nun „Anna“ aus dem DataFrame zu extrahieren, können sowohl Pandas `loc[]` als auch `iloc[]` genutzt werden. Das Ergebnis ist dasselbe, der Weg dahin unterscheidet sich aber:

```python
# Mit loc nach Label
print(df.loc[0, 'Name'])  # Ausgabe: 'Anna'
# Mit iloc nach Position
print(df.iloc[0, 0])  # Ausgabe: 'Anna'
```

## Anwendung von Pandas `DataFrame.loc[]`

Pandas `loc[]` hilft Ihnen dabei, **Teilmengen Ihres DataFrames zu extrahieren**. Hierbei kann es sich um einzelne oder mehrere Zeilen bzw. Spalten handeln – mit `loc[]` können verschiedene Anwendungsfälle umgesetzt werden.

### Auswahl einer einzelnen Zeile

Im Folgenden wird ein Beispiel-DataFrame mit den folgenden Daten betrachtet:

```python
import pandas as pd
data = {
    'Name': ['Anna', 'Bob', 'Chris'],
    'Alter': [23, 35, 30],
    'Stadt': ['Berlin', 'Hamburg', 'München']
}
df = pd.DataFrame(data)
print(df)
```

Der resultierende DataFrame sieht wie folgt aus:

```none
Name  Alter    Stadt
0   Anna     23   Berlin
1    Bob     35  Hamburg
2  Chris     30  München
```

Um die Daten der Zeile mit dem Index 1 auszuwählen (entspricht Bob), kann Pandas `loc[]` verwendet werden:

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

Das Resultat ist wie erwartet:

```none
Name         Bob
Alter         35
Stadt    Hamburg
Name: 1, dtype: object
```

### Auswahl mehrerer Spalten

Auch für die Auswahl einer Untermenge an Spalten eignet sich `DataFrame.loc[]`. Folgender Code wählt die Spalten „Name“ und „Stadt“ für alle Zeilen aus:

```python
name_stadt = df.loc[:, ['Name', 'Stadt']]
print(name_stadt)
```

Als Ergebnis erhält man eine Untermenge des ursprünglichen DataFrames:

```none
Name    Stadt
0   Anna   Berlin
1    Bob  Hamburg
2  Chris  München
```

### Bedingte Auswahl

Mit Pandas `loc[]` ist es ebenfalls möglich, Zeilen basierend auf einer Bedingung auswählen. Hierzu werden einfach Boolesche Vergleichsoperatoren eingesetzt. Im folgenden Code sollen zum Beispiel alle Personen, die älter als 25 Jahre sind, gefiltert werden:

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

Der obige Codeschnipsel liefert folgenden DataFrame, der nur noch die Daten derjenigen Personen enthält, die älter als 25 sind:

```none
Name  Alter    Stadt
1    Bob     35  Hamburg
2  Chris     30  München
```


This is a markdown version of: [https://www.ionos.com/de-ch/digitalguide/websites/web-entwicklung/python-pandas-dataframe-loc/](https://www.ionos.com/de-ch/digitalguide/websites/web-entwicklung/python-pandas-dataframe-loc/) for AI/LLM consumption.