Funzione Pandas DataFrame DataFrame.isin()

Jinku Hu 30 gennaio 2023
  1. Sintassi di pandas.DataFrame.isin(values)
  2. Codici di esempio: DataFrame.isin() con iterabile come input
  3. Codici di esempio: DataFrame.isin() con Dictionary come input
  4. Codici di esempio: DataFrame.isin() con Series come input
  5. Codici di esempio: DataFrame.isin() con DataFrame come input
Funzione Pandas DataFrame DataFrame.isin()

La funzione pandas.DataFrame.isin(values) controlla se ogni elemento nel DataFrame del chiamante contiene il valore specificato nei values di input.

Sintassi di pandas.DataFrame.isin(values)

DataFrame.isin(values)

Parametri

values iterabile - lista, tupla, set, ecc.
Dizionario,
Series
DataFrame

Ritorno

Restituisce un DataFrame di booleani della stessa dimensione del chiamante DataFrame che indica se ogni elemento contiene i valori di input.

Codici di esempio: DataFrame.isin() con iterabile come input

Quando il Python iterabile è l’input, la funzione Pandas DataFrame.isin() controlla se ogni valore in DataFrame contiene un valore in iterabile.

import pandas as pd

df = pd.DataFrame({'Sales': [100, 200], 'Profit': [200, 400]})

df = df.isin([200, 400])
print(df)

Il chiamante DataFrame è

   Sales  Profit
0    100     200
1    200     400

Produzione:

   Sales  Profit
0  False    True
1   True    True

Qui, 200 e 400 presenti nella lista [200, 400], quindi, i valori nel DataFrame restituito i cui valori originali sono 200 e 400 sono True. 100 non è nell’lista [200, 400], quindi, il valore nella sua posizione restituisce False.

Codici di esempio: DataFrame.isin() con Dictionary come input

Se il tipo di valore di input è Dizionario, la funzione isin() controlla non solo i valori ma anche la chiave. Restituisce True solo quando il nome della colonna è lo stesso della chiave e il valore della cella contiene il valore del dizionario.

import pandas as pd

df = pd.DataFrame({"Sales": [100, 200], "Profit": [200, 400]})

df = df.isin({"Sales": [200, 400]})
print(df)

Produzione:

   Sales  Profit
0  False   False
1   True   False

Nel primo esempio, i valori delle colonne Profit sono entrambi True ma sono False in questo esempio perché il nome della colonna è diverso dalla chiave nel dizionario di input.

Restituisce True nella colonna Sales se il valore è contenuto nel valore del dizionario - [200, 400].

Codici di esempio: DataFrame.isin() con Series come input

Se il tipo di valore di input è Pandas Series, la funzione isin() controlla se l’elemento per colonna è uguale al valore nello stesso indice dell’input Series.

import pandas as pd

df = pd.DataFrame({"Sales": [100, 200], "Profit": [200, 400]})

valueSeries = pd.Series([200, 400])
print(valueSeries)

df = df.isin(valueSeries)
print(df)

Produzione:

0    200
1    400
dtype: int64
   Sales  Profit
0  False    True
1  False    True

Gli elementi nella colonna Profit sono gli stessi nell’input Series per quanto riguarda gli elementi, quindi restituisce True per entrambi gli elementi in quella colonna.

Codici di esempio: DataFrame.isin() con DataFrame come input

Se il tipo di valore di input è Pandas DataFrame, la funzione isin() controlla che ogni elemento nel chiamante DataFrame sia uguale all’elemento dell’input DataFrame nella stessa posizione.

Restituisce True quando i valori sono identici o False in caso di mancata corrispondenza.

import pandas as pd

df = pd.DataFrame({"Sales": [100, 200], "Profit": [200, 400]})
print(df)

valueDf = pd.DataFrame({"Sales": [100, 200], "Profit": [200, 300]})
print(valueDf)

df = df.isin(valueDf)
print(df)

Produzione:

   Sales  Profit
0    100     200
1    200     400
   Sales  Profit
0    100     200
1    200     300
   Sales  Profit
0   True    True
1   True   False

Il valore nella posizione (1, 1) restituisce False perché i valori sono diversi tra il DataFrame del chiamante e il DataFrame di input.

Attenzione
La funzione isin() controlla non solo il valore in termini di elemento, ma controlla anche se il nome della colonna è identico. Restituisce False se i nomi delle colonne sono diversi anche se il valore è lo stesso in questi due DataFrame.
Autore: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Articolo correlato - Pandas DataFrame