Heim  >  Artikel  >  Backend-Entwicklung  >  Wie teile ich einen Pandas-DataFrame basierend auf einem Spaltenwertschwellenwert auf?

Wie teile ich einen Pandas-DataFrame basierend auf einem Spaltenwertschwellenwert auf?

DDD
DDDOriginal
2024-10-19 22:30:29763Durchsuche

How to Split a Pandas DataFrame Based on a Column Value Threshold?

Aufteilen eines Pandas-DataFrames nach einem Spaltenwert

Stellen Sie sich ein Szenario vor, in dem Sie einen DataFrame mit einer Spalte namens „Sales“ haben. Sie möchten diesen DataFrame basierend auf den Werten in der Spalte „Sales“ in zwei Datenrahmen aufteilen, sodass der erste DataFrame Daten enthält, bei denen „Sales“ unter einem angegebenen Schwellenwert liegt, während der zweite DataFrame Daten enthält, bei denen „Sales“ größer als ist oder gleich dem Schwellenwert.

Um dies zu erreichen, können Sie die boolesche Indizierung in Pandas nutzen. Hier ist ein Beispiel:

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

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

# Set the threshold (s)
s = 30

# Split the DataFrame based on the 'Sales' column
df1 = df[df['Sales'] >= s]
print(df1)

df2 = df[df['Sales'] < s]
print(df2)

Ausgabe:

   A  Sales
0  3     10
1  4     20
2  7     30
3  6     40
4  1     50

   A  Sales
2  7     30
3  6     40
4  1     50

   A  Sales
0  3     10
1  4     20

Alternativ können Sie den inversen Maskenoperator (~) verwenden, um das gleiche Ergebnis zu erzielen:

<code class="python">mask = df['Sales'] >= s
df1 = df[mask]
df2 = df[~mask]
print(df1)
print(df2)</code>

Dies hat den gleichen Effekt wie im vorherigen Beispiel.

Das obige ist der detaillierte Inhalt vonWie teile ich einen Pandas-DataFrame basierend auf einem Spaltenwertschwellenwert 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