Heim > Backend-Entwicklung > Python-Tutorial > Kann Operatorverkettung zum Filtern von DataFrame-Zeilen in Pandas verwendet werden?

Kann Operatorverkettung zum Filtern von DataFrame-Zeilen in Pandas verwendet werden?

DDD
Freigeben: 2024-11-04 04:50:29
Original
1015 Leute haben es durchsucht

Can Operator Chaining Be Used to Filter DataFrame Rows in Pandas?

Pandas: DataFrame-Zeilen mit Operatorverkettung filtern

Viele Pandas-Vorgänge können durch Operatorverkettung ausgeführt werden, einschließlich Gruppieren, Aggregieren und Anwenden. Das Filtern von Zeilen erfolgt jedoch normalerweise mithilfe der herkömmlichen Klammerindizierung.

df_filtered = df[df['column'] == value]
Nach dem Login kopieren

Dieser Ansatz erfordert die Zuweisung von df zu einer Variablen vor dem Filtern, was umständlich sein kann. Gibt es eine bequemere Möglichkeit, Filtervorgänge zu verketten?

Antwort:

Während die letzte Codezeile in der Frage unklar ist, kann eine „verkettete“ Filterung möglich sein Dies wird durch die Verkettung von Kriterien im booleschen Index erreicht.

df[(df.A == 1) & (df.D == 6)]
Nach dem Login kopieren

Zusätzlich können Benutzer ihre eigene Maskenmethode definieren und diese zum Filtern verwenden:

def mask(df, key, value):
    return df[df[key] == value]

pandas.DataFrame.mask = mask

df = pandas.DataFrame(np.random.randint(0, 10, (4,4)), index=list('abcd'), columns=list('ABCD'))

df.mask('A', 1)
df.mask('A', 1).mask('D', 6)
Nach dem Login kopieren

Dies ermöglicht eine bequeme Verkettung von Filteroperationen .

Das obige ist der detaillierte Inhalt vonKann Operatorverkettung zum Filtern von DataFrame-Zeilen in Pandas verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage