Heim > Backend-Entwicklung > Python-Tutorial > Wie lösche ich DataFrame-Zeilen basierend auf dem Spaltenwert in Pandas effizient?

Wie lösche ich DataFrame-Zeilen basierend auf dem Spaltenwert in Pandas effizient?

Linda Hamilton
Freigeben: 2024-12-29 22:08:16
Original
522 Leute haben es durchsucht

How to Efficiently Delete DataFrame Rows Based on Column Value in Pandas?

DataFrame-Zeilen basierend auf dem Spaltenwert effizient löschen

In Pandas kann das Löschen von Zeilen basierend auf einem bestimmten Spaltenwert auf verschiedene Arten erreicht werden. Einer der effizientesten Ansätze ist die Verwendung einer logischen Indizierung.

Bedenken Sie den folgenden DataFrame:

df = pd.DataFrame({
    "daysago": [62, 83, 111, 139, 160, 204, 222, 245, 258, 275, 475, 504, 515, 542, 549, 556, 577, 589, 612, 632, 719, 733, 760, 790, 810, 934],
    "line_race": [11, 11, 9, 10, 10, 9, 8, 9, 11, 8, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    "rating": [56, 67, 66, 83, 88, 52, 66, 70, 68, 72, 65, 70, 64, 70, 70, -1, -1, -1, -1, -1, 69, -1, -1, -1, -1, -1],
    "rw": [1.000000, 1.000000, 1.000000, 0.880678, 0.793033, 0.636655, 0.581946, 0.518825, 0.486226, 0.446667, 0.164591, 0.142409, 0.134800, 0.117803, 0.113758, 0.109852, 0.098919, 0.093168, 0.083063, 0.075171, 0.048690, 0.045404, 0.039679, 0.034160, 0.030915, 0.016647],
    "wrating": [56.000000, 67.000000, 66.000000, 73.096278, 69.786942, 33.106077, 38.408408, 36.317752, 33.063381, 32.160051, 10.698423, 9.968634, 8.627219, 8.246238, 7.963072, -0.109852, -0.098919, -0.093168, -0.083063, -0.075171, 3.359623, -0.045404, -0.039679, -0.034160, -0.030915, -0.016647]
})
Nach dem Login kopieren

Um die Zeilen zu löschen, in denen die Spalte „line_race“ gleich 0 ist, können wir Folgendes verwenden Codezeile:

df = df[df["line_race"] != 0]
Nach dem Login kopieren

Dieser Ausdruck erstellt einen neuen DataFrame, der nur die Zeilen enthält, in denen die Spalte „line_race“ nicht den Wert hat 0. Durch die Verwendung der logischen Indizierung vermeiden wir die Erstellung einer Kopie der Daten, was bei der Arbeit mit großen Datensätzen eine erhebliche Leistungsverbesserung bedeuten kann.

Das obige ist der detaillierte Inhalt vonWie lösche ich DataFrame-Zeilen basierend auf dem Spaltenwert in Pandas effizient?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage