Heim >Backend-Entwicklung >Python-Tutorial >Wie teile ich einen DataFrame basierend auf Spaltenwerten in Pandas auf?

Wie teile ich einen DataFrame basierend auf Spaltenwerten in Pandas auf?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-19 22:34:29405Durchsuche

How to Divide a DataFrame Based on Column Values in Pandas?

Pandas: Teilen eines DataFrames basierend auf Spaltenwerten

Bei der Arbeit mit Pandas DataFrames besteht die Notwendigkeit, die Daten basierend auf Spaltenwerten in Teilmengen aufzuteilen bestimmte Spaltenwerte. Ein häufiges Szenario ist die Aufteilung eines DataFrames basierend auf einem Schwellenwert. So können Sie dies erreichen:

Boolesche Masken erstellen

Die einfachste Methode besteht darin, mithilfe von Vergleichsoperatoren eine boolesche Maske zu erstellen. Durch Anwenden der Maske auf den DataFrame können Sie zwei DataFrames mit Daten erstellen, die die von der Maske festgelegten Bedingungen erfüllen.

Zum Beispiel, um einen DataFrame durch eine Spalte namens „Sales“ mit Verkaufswerten kleiner als und größer als aufzuteilen oder gleich einem angegebenen Schwellenwert:

<code class="python">import pandas as pd

df = pd.DataFrame({'Sales':[10,20,30,40,50], 'A':[3,4,7,6,1]})
print(df)

s = 30

# Boolean mask for rows where Sales >= s
sales_ge_mask = df['Sales'] >= s

# DataFrame with Sales >= s
df1 = df[sales_ge_mask]
print(df1)

# Boolean mask for rows where Sales < s
sales_lt_mask = df['Sales'] < s

# DataFrame with Sales < s
df2 = df[sales_lt_mask]
print(df2)

Sie können die Maske mit dem „~“-Operator umkehren, um den DataFrame basierend auf der Negation der Bedingung aufzuteilen.

<code class="python"># Boolean mask for rows where Sales < s
sales_lt_mask = df['Sales'] < s

# DataFrame with Sales >= s
df1 = df[~sales_lt_mask]
print(df1)

# DataFrame with Sales < s
df2 = df[sales_lt_mask]
print(df2)</code>

Diese Methode erstellt effizient Teilmengen von DataFrames basierend auf maßgeschneiderten Bedingungen.

Das obige ist der detaillierte Inhalt vonWie teile ich einen DataFrame basierend auf Spaltenwerten in Pandas auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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