Heim >Backend-Entwicklung >Python-Tutorial >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?

Linda Hamilton
Linda HamiltonOriginal
2024-11-03 10:50:29848Durchsuche

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>

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>
  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>

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>

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

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!

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