„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie lösche ich Zeilen aus einem Pandas-Datenrahmen basierend auf Index oder Bedingungen?

Wie lösche ich Zeilen aus einem Pandas-Datenrahmen basierend auf Index oder Bedingungen?

Veröffentlicht am 03.11.2024
Durchsuche:667

How to Drop Rows from a Pandas Dataframe Based on Index or Conditions?

Zeilen aus einem Pandas-Datenrahmen löschen

In Pandas müssen wir häufig bestimmte Zeilen aus einem Datenrahmen entfernen, entweder zur Datenbereinigung Zwecken zu dienen oder sich auf bestimmte Teilmengen zu konzentrieren. Eine effiziente Möglichkeit, dies zu erreichen, ist die Verwendung der Drop-Funktion, die es uns ermöglicht, Zeilen basierend auf verschiedenen Kriterien selektiv zu entfernen.

Um den Prozess zu demonstrieren, betrachten wir einen Datenrahmen df:

import pandas as pd

df = pd.DataFrame({'sales': [2.709, 6.590, 10.103, 15.915, 3.196, 7.907],
                   'discount': [None, None, None, None, None, None],
                   'net_sales': [2.709, 6.590, 10.103, 15.915, 3.196, 7.907],
                   'cogs': [2.245, 5.291, 7.981, 12.686, 2.710, 6.459]})

print(df)

Angenommen, wir möchten Zeilen mit bestimmten Sequenznummern löschen, die durch eine Liste dargestellt werden, z. B. [1, 2, 4]. Dazu können wir die Drop-Funktion wie folgt verwenden:

  1. Erstellen Sie eine Reihe von Indexbezeichnungen, die Sie entfernen möchten:
indices_to_drop = [1, 2, 4]
  1. Alternativ können Sie Zeilen auch basierend auf Spaltenbedingungen löschen:
conditions_to_drop = df['sales'] > 10
df = df[~conditions_to_drop]

Durch Angabe des Indexparameters in drop können wir effektiv die Zeilen entfernen, die den bereitgestellten Indizes entsprechen, sodass wir die gewünschte Teilmenge erhalten:

df = df.drop(index=indices_to_drop)
print(df)

In diesem Fall würde es zu folgendem Datenrahmen führen:

                  sales  discount  net_sales    cogs
STK_ID RPT_Date                                     
600141 20060331   2.709       NaN      2.709   2.245
       20061231  15.915       NaN     15.915  12.686
       20070630   7.907       NaN      7.907   6.459
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3