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

Wie teile ich einen DataFrame basierend auf einem bestimmten Spaltenwert in Pandas auf?

DDD
Freigeben: 2024-10-19 22:35:02
Original
278 Leute haben es durchsucht

How to Split a DataFrame Based on a Specific Column Value in Pandas?

Aufteilen eines DataFrames basierend auf dem Spaltenwert in Pandas

Bei der Datenanalyse stoßen wir häufig auf Situationen, in denen wir einen DataFrame in mehrere aufteilen müssen DataFrames basierend auf einem bestimmten Spaltenwert. Ein solcher Fall ist, wenn wir einen DataFrame in zwei Teile aufteilen möchten: einen, der Zeilen mit Werten unter einem bestimmten Schwellenwert enthält, und einen anderen, der Zeilen mit Werten über oder gleich diesem Schwellenwert enthält.

In Pandas können wir dies erreichen Aufteilung mittels boolescher Indizierung. So können wir diese Aufteilung anhand eines Beispiels erreichen:

Betrachten Sie den folgenden DataFrame mit einer Spalte namens „Sales“:

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

   A  Sales
0  3     10
1  4     20
2  7     30
3  6     40
4  1     50
Nach dem Login kopieren

Angenommen, wir möchten diesen DataFrame basierend auf a in zwei Teile aufteilen Verkaufswert von 30:

Aufteilung mit direktem Vergleich:

Die einfachste Methode ist der direkte Vergleich mit dem booleschen Indexoperator '>=':

<code class="python">s = 30

df1 = df[df['Sales'] >= s]
print (df1)

   A  Sales
2  7     30
3  6     40
4  1     50</code>
Nach dem Login kopieren

Dadurch wird ein neuer DataFrame namens df1 erstellt, der alle Zeilen enthält, in denen der Umsatzwert größer oder gleich 30 ist.

Aufteilung mit inverser Maske:

Um einen DataFrame mit Zeilen zu erstellen, in denen der Umsatz kleiner als 30 ist, können wir die Maske mit ~ umkehren:

<code class="python">df2 = df[~mask]
print (df2)

   A  Sales
0  3     10
1  4     20</code>
Nach dem Login kopieren

Dadurch wird ein neuer DataFrame namens df2 erstellt, der alle Zeilen enthält, in denen der Umsatzwert kleiner ist als 30.

Das obige ist der detaillierte Inhalt vonWie teile ich einen DataFrame basierend auf einem bestimmten Spaltenwert in Pandas auf?. 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