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

Linda Hamilton
Freigeben: 2024-11-03 10:50:29
Original
793 Leute haben es durchsucht

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, sei es 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:

<code class="python">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)
</code>
Nach dem Login kopieren

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:
<code class="python">indices_to_drop = [1, 2, 4]</code>
Nach dem Login kopieren
  1. Alternativ , Sie können Zeilen auch basierend auf Spaltenbedingungen löschen:
<code class="python">conditions_to_drop = df['sales'] > 10
df = df[~conditions_to_drop]</code>
Nach dem Login kopieren

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:

<code class="python">df = df.drop(index=indices_to_drop)
print(df)</code>
Nach dem Login kopieren

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
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie lösche ich Zeilen aus einem Pandas-Datenrahmen basierend auf Index oder Bedingungen?. 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