Funzione Pandas DataFrame DataFrame.isin()

Funzione Pandas DataFrame DataFrame.isin()

  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

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.

Author: 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

Articolo correlato - Pandas DataFrame

  • Funzione Pandas DataFrame DataFrame.aggregate()
  • Funzione Pandas DataFrame DataFrame.append()
  • Funzione Pandas DataFrame DataFrame.apply()
  • Funzione Pandas DataFrame DataFrame.assign()
  • Funzione Pandas DataFrame DataFrame.boxplot()
  • Funzione Pandas DataFrame DataFrame.drop_duplicates()