Heim > Backend-Entwicklung > Python-Tutorial > Wie kann man mehrere Filter effizient auf Pandas-DataFrames und -Serien anwenden?

Wie kann man mehrere Filter effizient auf Pandas-DataFrames und -Serien anwenden?

DDD
Freigeben: 2024-10-20 11:58:02
Original
394 Leute haben es durchsucht

How to Efficiently Apply Multiple Filters to Pandas DataFrames and Series?

Effiziente Filterung von Pandas-DataFrames und -Serien

Das Filtern von Daten in Pandas-DataFrames und -Serien ist für die Datenmanipulation und -analyse unerlässlich. Um mehrere Filter effizient anzuwenden, sollten Sie die integrierten Operatoren und die boolesche Indizierung von Pandas nutzen.

Bereitstellen einer Operation und einer Werteliste in einem Wörterbuchformat für einen DataFrame oder eine Serie, wie im folgenden Beispiel gezeigt:

<code class="python">relops = {'>=': [1], '<=': [1]}
Nach dem Login kopieren

So wenden Sie diese Filter an:

<code class="python">import numpy as np

def boolean_filter(x, relops):
    filters = []
    for op, vals in relops.items():
        op_func = getattr(np, op)
        for val in vals:
            filters.append(op_func(x, val))

    return x[(np.logical_and(*filters))]

## Example:

df = pandas.DataFrame({'col1': [0, 1, 2], 'col2': [10, 11, 12]})

result = boolean_filter(df['col1'], {'>=': [1]})
print(result)

## Output:
# col1
# 1       1
# 2       2
# Name: col1</code>
Nach dem Login kopieren

Durch die Verwendung der booleschen Indizierung vermeidet diese Methode unnötiges Kopieren und ist besonders bei großen Datensätzen äußerst effizient.

Das obige ist der detaillierte Inhalt vonWie kann man mehrere Filter effizient auf Pandas-DataFrames und -Serien anwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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