# Πώς να αναζητήσετε DataFrames χρησιμοποιώντας pandas isin()

Η συνάρτηση Python pandas `DataFrame.isin()` έχει σχεδιαστεί για να ελέγχει γρήγορα και αποτελεσματικά **αν ορισμένες τιμές υπάρχουν σε ένα DataFrame**. Αυτή η συνάρτηση είναι ιδιαίτερα χρήσιμη για τον έλεγχο πολλαπλών τιμών ταυτόχρονα.

## Ποια είναι η σύνταξη για το pandas `isin()`;

Το Pandas `isin()` δέχεται έναν παράμετρο και έχει την εξής μορφή:

```python
DataFrame.isin(values)
```

Η παράμετρος `values` μπορεί να είναι μια **λίστα Python, ένα λεξικό Python ή ένα άλλο DataFrame**. Περιέχει τις τιμές που θέλετε να αναζητήσετε στο DataFrame.

Tip Εάν εργάζεστε με σειρές pandas αντί για DataFrames, μπορείτε να χρησιμοποιήσετε την αντίστοιχη συνάρτηση `Series.isin()`.

## Πώς να χρησιμοποιήσετε `isin()` με DataFrames στο pandas

Μπορείτε να χρησιμοποιήσετε `isin()` για διάφορους σκοπούς. Εκτός από τον έλεγχο τιμών, μπορεί επίσης να χρησιμοποιηθεί για το φιλτράρισμα DataFrames.

### Έλεγχος τιμών σε μια στήλη

Αρχικά, ας ρίξουμε μια ματιά σε ένα DataFrame που περιέχει πληροφορίες για διαφορετικά άτομα και τον τόπο διαμονής τους.

```python
import pandas as pd
# Creating a DataFrame
data = {
    'Name': ['Amir', 'Bella', 'Charlize', 'David'],
    'City': ['Nottingham', 'London', 'Cardiff', 'Hull']
}
df = pd.DataFrame(data)
print(df)
```

Το DataFrame έχει την εξής μορφή:

```none
Name      City
0    Amir    	Nottingham
1    Bella  	London
2    Charlize   Cardiff
3    David    Hull
```

Τώρα, θέλουμε να χρησιμοποιήσουμε το pandas `isin()` για να ελέγξουμε αν οι πόλεις στη στήλη City εμφανίζονται σε μια ξεχωριστή λίστα πόλεων που έχουμε δημιουργήσει. Μόλις δημιουργήσουμε τη λίστα με τις πόλεις αναφοράς, θα εκτελέσουμε τη συνάρτηση στη στήλη DataFrame «City»:

```python
# Cities for the list to be compared to
cities_to_check_against = ['Cardiff', 'Hull', 'Middlesbrough']
# Using the isin() method
result = df['City'].isin(cities_to_check_against)
print(result)
```

Το αποτέλεσμα είναι μια σειρά από τιμές Boolean που υποδεικνύουν αν κάθε πόλη στη στήλη City υπάρχει στη λίστα `cities_to_check_against`:

```none
0    False
1    False
2     True
3     True
Name: City, dtype: bool
```

### Φιλτράρισμα ενός DataFrame χρησιμοποιώντας `isin()`

Μπορείτε επίσης να χρησιμοποιήσετε pandas `isin()` για να φιλτράρετε ένα DataFrame, διατηρώντας μόνο τις σειρές με πόλεις που εμφανίζονται στη λίστα `cities_to_check_against`.

```python
# Filtering a DataFrame using isin()
filtered_df = df[df['City'].isin(cities_to_check_against)]
print(filtered_df)
```

Το αποτέλεσμα είναι ένα DataFrame που περιέχει μόνο τις σειρές με πόλεις που περιλαμβάνονται επίσης στη λίστα `cities_to_check_against`:

```none
Name    	City
2  Charlize  	Cardiff
3  David  		Hull
```

### Έλεγχος πολλαπλών στηλών σε ένα DataFrame

Για πιο σύνθετες λειτουργίες φιλτραρίσματος, μπορείτε επίσης να χρησιμοποιήσετε pandas `isin()` με λεξικά. Στο παρακάτω παράδειγμα, θα δείτε πώς μπορείτε να χρησιμοποιήσετε ένα λεξικό για να ελέγξετε ταυτόχρονα πολλές στήλες ενός DataFrame. Πρώτα, θα προσθέσουμε μια στήλη στο αρχικό DataFrame και στη συνέχεια θα χρησιμοποιήσουμε `isin()`:

```python
# Creating a DataFrame
data = {
    'Name': ['Amir', 'Bella', 'Charlize', 'David'],
    'City': ['Nottingham', 'London', 'Cardiff', 'Hull'],
    'Age': [25, 30, 35, 40]
}
df = pd.DataFrame(data)
# Dictionary with values that the DataFrame should be checked against
values_to_check_against = {
    'City': ['Cardiff', 'Hull'],
    'Age': [30, 40]
}
# Using isin() with a dictionary
result = df.isin(values_to_check_against)
print(result)
```

Σε αυτήν την περίπτωση, η κλήση `isin()` επιστρέφει ένα DataFrame με τιμές Boolean, οι οποίες υποδεικνύουν εάν οι συνθήκες έχουν ικανοποιηθεί σε κάθε στήλη:

```none
Name  City  Age
0  False  False  False
1  False  False   True
2  False   True  False
3  False   True   True
```


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