Pandas DataFrame DataFrame.isin() Funktion
-
Syntax von
pandas.DataFrame.isin(values) -
Beispiel-Codes:
DataFrame.isin()Mititerableals Eingabe -
Beispiel-Codes:
DataFrame.isin()mitDictionaryals Eingabe -
Beispiel-Codes:
DataFrame.isin()MitSeriesals Eingabe -
Beispielcodes:
DataFrame.isin()mitDataFrameals Eingabe
Die Funktion pandas.DataFrame.isin(values) prüft, ob jedes Element im aufrufenden DataFrame den in den eingegebenen values angegebenen Wert enthält.
Syntax von pandas.DataFrame.isin(values)
DataFrame.isin(values)
Parameter
values |
iterable - list, tuple, set, usw. Dictionary, Series Dataframe |
Zurück
Es gibt einen DataFrame von Booleans der gleichen Dimension des aufrufenden DataFrame zurück, der anzeigt, ob jedes Element die eingegebenen values enthält.
Beispiel-Codes: DataFrame.isin() Mit iterable als Eingabe
Wenn die Python iterable die Eingabe ist, prüft Pandas DataFrame.isin() Funktion, ob jeder Wert im DataFrame irgendeinen Wert in der iterable enthält.
import pandas as pd
df = pd.DataFrame({'Sales': [100, 200], 'Profit': [200, 400]})
df = df.isin([200, 400])
print(df)
Der Aufrufer DataFrame ist:
Sales Profit
0 100 200
1 200 400
Ausgabe:
Sales Profit
0 False True
1 True True
Hier sind 200 und 400 in der Liste [200, 400] vorhanden, daher sind die Werte im zurückgegebenen DataFrame, deren ursprüngliche Werte 200 und 400 sind, True. 100 ist nicht in der Liste [200, 400], daher gibt der Wert an seiner Position False zurück.
Beispiel-Codes: DataFrame.isin() mit Dictionary als Eingabe
Wenn der Typ des Eingabewertes Dictionary ist, prüft die Funktion isin() nicht nur die Werte, sondern auch den key. Sie gibt nur dann True zurück, wenn der Spaltenname mit dem key übereinstimmt und der Zellwert im value des Dictionaries enthalten ist.
import pandas as pd
df = pd.DataFrame({"Sales": [100, 200], "Profit": [200, 400]})
df = df.isin({"Sales": [200, 400]})
print(df)
Ausgabe:
Sales Profit
0 False False
1 True False
Im ersten Beispiel sind die Werte der Profit-Spalten beide True, aber in diesem Beispiel sind sie False, weil der Spaltenname sich von dem key im EingabeDictionary unterscheidet.
Es gibt True in der Spalte Sales zurück, wenn der Wert im values des Dictionaries enthalten ist - [200, 400].
Beispiel-Codes: DataFrame.isin() Mit Series als Eingabe
Wenn der Typ des Eingabewertes Pandas Series ist, prüft die Funktion isin(), ob das Element pro Spalte mit dem Wert im gleichen Index der eingegebenen Series übereinstimmt.
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)
Ausgabe:
0 200
1 400
dtype: int64
Sales Profit
0 False True
1 False True
Die Elemente in der Spalte Profit sind elementweise die gleichen wie die Elemente in der Eingabespalte Series, daher gibt die Funktion für beide Elemente in dieser Spalte True zurück.
Beispielcodes: DataFrame.isin() mit DataFrame als Eingabe
Wenn der Typ des Eingabewertes Pandas DataFrame ist, prüft die Funktion isin() jedes Element im Aufrufer DataFrame auf Übereinstimmung mit dem Element der Eingabe DataFrame an der gleichen Position.
Sie gibt True zurück, wenn die Werte identisch sind, oder False im Falle einer Nichtübereinstimmung.
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)
Ausgabe:
Sales Profit
0 100 200
1 200 400
Sales Profit
0 100 200
1 200 300
Sales Profit
0 True True
1 True False
Der Wert an der Position (1, 1) gibt False zurück, weil die Werte zwischen dem aufrufenden DataFrame und dem eingegebenen DataFrame unterschiedlich sind.
isin() prüft nicht nur den Wert elementweise, sondern sie prüft auch, ob der Name der Spalte identisch ist. Sie gibt False zurück, wenn die Spaltennamen unterschiedlich sind, selbst wenn der Wert in diesen beiden DataFrames derselbe ist.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