# Πώς να επιλέξετε δεδομένα από pandas DataFrames με loc\[\]

Στη βιβλιοθήκη Python pandas, `DataFrame.loc[]` είναι μια ιδιότητα που σας επιτρέπει να επιλέξετε δεδομένα από ένα DataFrame χρησιμοποιώντας ετικέτες. Αυτό διευκολύνει την εξαγωγή συγκεκριμένων σειρών και στηλών από ένα DataFrame.

## Ποια είναι η σύνταξη για το pandas `loc[]`;

Η σύνταξη για `loc[]` είναι αρκετά απλή. Το μόνο που χρειάζεται να κάνετε είναι να περάσετε τις **ετικέτες των στηλών και των γραμμών** που θέλετε να επιλέξετε ως παράμετρο:

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

Με το pandas `loc[]`, οι επιλογές γίνονται κυρίως με τη χρήση ετικετών. Αυτό σημαίνει ότι η παράμετρος που παρέχετε μπορεί να είναι μια **μεμονωμένη ετικέτα, μια λίστα ή ένα τμήμα ετικετών**. Μπορούν επίσης να χρησιμοποιηθούν και πίνακες Boolean.

## Ποια είναι η διαφορά μεταξύ `loc[]` και `iloc[]`;

Ενώ το pandas `DataFrame.loc[]` επιλέγει δεδομένα με βάση ετικέτες, [το DataFrame.iloc](https://www.ionos.com/el-gr/digitalguide/istoselides/anaptyxi-istoselidon/python-pandas-dataframe-iloc/) επιλέγει δεδομένα με βάση θέσεις που βασίζονται σε ακέραιους αριθμούς. Ακολουθεί ένα παράδειγμα κώδικα που βοηθά στην επεξήγηση των διαφορών. Πρώτα, θα δημιουργήσουμε ένα [pandas DataFrame](https://www.ionos.com/el-gr/digitalguide/istoselides/anaptyxi-istoselidon/python-pandas-dataframe/):

```python
import pandas as pd
# Example DataFrame
data = {'Name': ['Alyssa', 'Brandon', 'Carmen'], 'Age': [23, 35, 30]}
df = pd.DataFrame(data)
print(df)
```

Έτσι φαίνεται το DataFrame:

```none
Name    Age
0   Alyssa     	23
1 	Brandon     35
2  	Carmen     	30
```

Για να εξαγάγετε το «Alyssa» από το DataFrame, μπορείτε να χρησιμοποιήσετε τόσο το pandas `loc[]` όσο και `iloc[]`. Αν και η προσέγγιση διαφέρει, το αποτέλεσμα είναι το ίδιο:

```python
# Using loc and labels to extract Alyssa
print(df.loc[0, 'Name'])  # Output: 'Alyssa'
# Using iloc and integers to extract Alysa
print(df.iloc[0, 0])  # Output: 'Alyssa'
```

## Πώς να χρησιμοποιήσετε pandas `DataFrame.loc[]`

Το Pandas `loc[]` σας βοηθά **να εξαγάγετε υποσύνολα του DataFrame σας**. Με `loc[]`, μπορείτε να εξαγάγετε μία μόνο σειρά ή στήλη, πολλές σειρές και στήλες ή ακόμα και να εφαρμόσετε συνθήκες για φιλτράρισμα. Αυτή η ευελιξία το καθιστά κατάλληλο για μια ποικιλία περιπτώσεων χρήσης.

### Επιλογή μιας μόνο σειράς

Ας δούμε ένα παράδειγμα DataFrame:

```python
import pandas as pd
data = {
    'Name': ['Alyssa', 'Brandon', 'Carmen'],
    'Age': [23, 35, 30],
    'City': ['Sheffield', 'Glasgow', 'Belfast']
}
df = pd.DataFrame(data)
print(df)
```

Αυτό είναι το τελικό DataFrame:

```none
Name  	Age      City
0   Alyssa  23	 	Sheffield
1 Brandon  	35    Glasgow
2 Carmen    30    Belfast
```

Για να επιλέξετε τα δεδομένα από τη σειρά που περιέχει πληροφορίες για τον Brandon (δείκτης 1), μπορείτε να χρησιμοποιήσετε το pandas `loc[]`:

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

Εδώ είναι το αποτέλεσμα:

```none
Name         Brandon
Age              35
City        	Glasgow
Name: 1, dtype: object
```

### Επιλογή πολλαπλών στηλών

Μπορείτε επίσης να χρησιμοποιήσετε `DataFrame.loc[]` για να επιλέξετε ένα υποσύνολο στηλών. Ο παρακάτω κώδικας επιλέγει τις στήλες «Όνομα» και «Πόλη»:

```python
name_city = df.loc[:, ['Name', 'City']]
print(name_city)
```

Το αποτέλεσμα είναι ένα υποσύνολο του αρχικού DataFrame:

```none
Name     City
0   Alyssa  Sheffield
1 Brandon   Glasgow
2  Carmen   Belfast
```

### Επιλογή σειρών με βάση συνθήκες

Με το pandas `loc[]`, μπορείτε επίσης να επιλέξετε σειρές που πληρούν συγκεκριμένα κριτήρια. Μπορείτε να το κάνετε αυτό με τους τελεστές σύγκρισης Boolean. Για παράδειγμα, δείτε πώς μπορείτε να φιλτράρετε όλα τα άτομα που είναι άνω των 25 ετών:

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

Ο παραπάνω κώδικας δημιουργεί ένα DataFrame που περιλαμβάνει μόνο δεδομένα για άτομα στο DataFrame που είναι άνω των 25 ετών:

```none
Name  	Age     City
1 Brandon     35   Glasgow
2  Carmen     30   Belfast
```


This is a markdown version of: [https://www.ionos.com/el-gr/digitalguide/istoselides/anaptyxi-istoselidon/python-pandas-dataframe-loc/](https://www.ionos.com/el-gr/digitalguide/istoselides/anaptyxi-istoselidon/python-pandas-dataframe-loc/) for AI/LLM consumption.