# Hvordan søke i DataFrames ved hjelp av pandas isin()

Python pandas- funksjonen `DataFrame.isin()` er utviklet for å raskt og effektivt sjekke **om visse verdier finnes i en DataFrame**. Denne funksjonen er spesielt nyttig for å sjekke flere verdier samtidig.

## Hva er syntaksen for pandas `isin()`?

Pandas `isin()` tar én parameter og ser slik ut:

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

Parameteren `values` kan være en **Python-liste, en Python-ordbok eller en annen DataFrame**. Den inneholder verdiene du ønsker å søke etter i DataFrame.

Tip Hvis du arbeider med pandas Series i stedet for DataFrames, kan du bruke den tilsvarende funksjonen `Series.isin()`.

## Hvordan bruke `isin()` med DataFrames i pandas

Du kan bruke `isin()` til forskjellige formål. I tillegg til å sjekke verdier, kan det også brukes til å filtrere DataFrames.

### Sjekke verdier i en kolonne

Først skal vi se på en DataFrame som inneholder informasjon om forskjellige personer og hvor de bor.

```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 ser slik ut:

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

Nå vil vi bruke pandas `isin()` til å sjekke om byene i kolonnen City finnes i en egen liste over byer som vi har opprettet. Når vi har opprettet listen med referansebyene, kjører vi funksjonen på DataFrame-kolonnen «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)
```

Resultatet er en serie med boolske verdier som angir om hver by i kolonnen By er til stede i listen `cities_to_check_against`:

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

### Filtrering av en DataFrame ved hjelp av `isin()`

Du kan også bruke pandas `isin()` til å filtrere en DataFrame, slik at du bare beholder radene med byer som finnes på listen `cities_to_check_against`.

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

Resultatet er en DataFrame som bare inneholder rader med byer som også er på listen `cities_to_check_against`:

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

### Kontrollere flere kolonner i en DataFrame

For mer komplekse filtreringsoperasjoner kan du også bruke pandas `isin()` med ordbøker. I det følgende eksemplet vil du se hvordan du kan bruke en ordbok til å sjekke flere kolonner i en DataFrame samtidig. Først legger vi til en kolonne i den opprinnelige DataFrame og bruker deretter `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)
```

I dette tilfellet returnerer `isin()` en DataFrame med boolske verdier, som angir om betingelsene er oppfylt i hver kolonne:

```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/nb-no/digitalguide/nettsteder/webutvikling/python-pandas-dataframe-isin/](https://www.ionos.com/nb-no/digitalguide/nettsteder/webutvikling/python-pandas-dataframe-isin/) for AI/LLM consumption.