Python pandas -funktio DataFrame.isin() on suun­ni­tel­tu tar­kis­ta­maan nopeasti ja te­hok­kaas­ti , onko tiettyjä arvoja DataFrame-ke­hyk­ses­sä. Tämä funktio on erityisen hyö­dyl­li­nen useiden arvojen sa­ma­nai­kai­ses­sa tar­kis­ta­mi­ses­sa.

Mikä on pandas isin():n syntaksi?

Pandas isin() ottaa yhden pa­ra­met­rin ja näyttää tältä:

DataFrame.isin(values)
python

values voi olla Python-lista, Python-sanakirja tai toinen DataFrame. Se sisältää arvot, joita haluat etsiä DataFrame-ke­hyk­ses­tä.

Vinkki

Jos työs­ken­te­let pandas-sarjojen kanssa Da­taFra­mes-sarjojen sijaan, voit käyttää vastaavaa toimintoa Series.isin().

Kuinka käyttää isin() Da­taFra­mes-ke­hyk­sis­sä pandas-kir­jas­tos­sa

Voit käyttää isin() eri tar­koi­tuk­siin. Arvojen tar­kis­ta­mi­sen lisäksi sitä voidaan käyttää myös DataFrame-tau­lu­koi­den suo­dat­ta­mi­seen.

Sarakkeen arvojen tar­kis­ta­mi­nen

En­sin­nä­kin, kat­so­taan­pa DataFrame-taulukkoa, joka sisältää tietoja eri ihmisistä ja heidän asuin­pai­kois­taan.

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

DataFrame näyttää tältä:

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

Nyt haluamme käyttää pandas isin() tar­kis­taak­sem­me, esiin­ty­vät­kö City-sarakkeen kaupungit eril­li­ses­sä luo­mas­sam­me kau­pun­ki­luet­te­los­sa. Kun olemme luoneet luettelon vii­te­kau­pun­geis­ta, suo­ri­tam­me toiminnon DataFrame-sarakkeen “City” kohdalla:

# 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)
python

Tuloksena on sarja boo­le­nai­sia arvoja, jotka osoit­ta­vat, onko jokainen kaupunki City-sa­rak­kees­sa mukana cities_to_check_against luet­te­los­sa:

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

DataFrame-kehyksen suo­dat­ta­mi­nen käyt­tä­mäl­lä isin()

Voit myös käyttää pandas isin() suo­dat­ta­maan DataFrame-taulukon ja säilyttää vain rivit, joissa on cities_to_check_against luet­te­los­sa esiin­ty­viä kau­pun­ke­ja.

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

Tuloksena on DataFrame, joka sisältää vain rivit, joissa on kau­pun­ke­ja, jotka ovat myös cities_to_check_against luet­te­los­sa:

Name    	City
2  Charlize  	Cardiff
3  David  		Hull

Useiden sa­rak­kei­den tar­kis­ta­mi­nen DataFrame-ke­hyk­ses­sä

Mo­ni­mut­kai­sem­pia suo­da­tus­toi­min­to­ja varten voit käyttää myös pandas isin() -kirjastoa sa­na­kir­jo­jen kanssa. Seu­raa­vas­sa esi­mer­kis­sä näet, kuinka voit käyttää sa­na­kir­jaa tar­kis­taak­se­si sa­ma­nai­kai­ses­ti useita DataFrame-taulukon sa­rak­kei­ta. Ensin lisätään sarake al­ku­pe­räi­seen DataFrame-tau­luk­koon ja sitten käytetään isin():

# 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)
python

Tässä ta­pauk­ses­sa isin() tuloksena saadaan DataFrame-taulukko, jossa on boo­le­ni­lai­sia arvoja, jotka osoit­ta­vat, ovatko ehdot täyt­ty­neet kussakin sa­rak­kees­sa:

Name  City  Age
0  False  False  False
1  False  False   True
2  False   True  False
3  False   True   True
Siirry pää­va­lik­koon