Datenrahmen nach Spaltenwerten in einer Liste filtern
Bei der Arbeit mit Pandas-Datenrahmen ist es wichtig, die Zeilen basierend auf filtern zu können spezifische Kriterien. Eines der häufigsten Szenarios besteht darin, Zeilen auszuwählen, in denen ein Spaltenwert in einer bereitgestellten Liste vorhanden ist.
Betrachten Sie beispielsweise den DataFrame rpt mit den Spalten STK_ID, STK_Name, RPT_Date und sales. Mit dem ==-Operator können wir die Zeilen ganz einfach nach einer bestimmten Aktien-ID filtern:
rpt[rpt['STK_ID'] == '600809']
Was aber, wenn wir Zeilen filtern möchten, in denen die STK_ID-Spalte Werte aus einer Liste enthält, z. B. ['600809 ','600141','600329']? Die Verwendung des ==-Operators mit einer Liste funktioniert in Pandas nicht.
Um dies zu erreichen, können wir die isin-Methode verwenden:
stk_list = ['600809','600141','600329'] rpt[rpt['STK_ID'].isin(stk_list)]
Die isin-Methode prüft, ob die Spaltenwerte vorhanden sind in der bereitgestellten Liste und gibt eine boolesche Maske zurück. Der resultierende DataFrame enthält nur die Zeilen, in denen der STK_ID-Wert mit mindestens einem der Werte in der Liste übereinstimmt.
Diese Methode ist besonders nützlich, wenn es um große DataFrames geht oder wenn die Liste der zu filternden Werte dynamisch ist oder sich häufig ändert.
Das obige ist der detaillierte Inhalt vonWie filtere ich Pandas DataFrame-Zeilen basierend auf einer Liste von Spaltenwerten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!