Funzione Pandas DataFrame DataFrame.isin()
-
Sintassi di
pandas.DataFrame.isin(values) -
Codici di esempio:
DataFrame.isin()coniterabilecome input -
Codici di esempio:
DataFrame.isin()conDictionarycome input -
Codici di esempio:
DataFrame.isin()conSeriescome input -
Codici di esempio:
DataFrame.isin()conDataFramecome 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.
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.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