Zeilen basierend auf eindeutigen Spaltenwerten abrufen
In Datenmanipulationsszenarien ist es wichtig, Zeilen basierend auf eindeutigen Werten innerhalb einer bestimmten Spalte zu extrahieren . In diesem Artikel wird gezeigt, wie Sie dies mithilfe von Pandas, einer beliebten Python-Bibliothek zur Datenbearbeitung und -analyse, erreichen können.
Problemstellung
Betrachten Sie einen Datenrahmen mit zwei Spalten, COL1 und COL2. Die Aufgabe besteht darin, Zeilen abzurufen, in denen die Werte in COL2 eindeutig sind. Nehmen wir zum Beispiel den folgenden Datenrahmen:
COL1 | COL2 |
---|---|
a.com | 22 |
b.com | 45 |
c.com | 34 |
e.com | 45 |
f.com | 56 |
g.com | 22 |
h.com | 45 |
Die gewünschte Ausgabe besteht darin, die Zeilen basierend auf den eindeutigen Werten in COL2 zu erhalten:
COL1 | COL2 |
---|---|
a.com | 22 |
b.com | 45 |
c.com | 34 |
f.com | 56 |
Lösung: Verwendung von Pandas' drop_duplicates()-Methode
Die Pandas-Bibliothek bietet eine praktische Methode namens drop_duplicates(), um diese Aufgabe zu erfüllen. Durch Angabe des Spaltennamens im Argument können Sie nach Duplikaten suchen und je nach Ihren Anforderungen bestimmte Zeilen entfernen oder beibehalten.
Um beispielsweise alle doppelten Zeilen basierend auf COL2-Werten zu entfernen, verwenden Sie den folgenden Code:
<code class="python">import pandas as pd df = pd.DataFrame({'COL1': ['a.com', 'b.com', 'c.com', 'e.com', 'f.com', 'g.com', 'h.com'], 'COL2': [22, 45, 34, 45, 56, 22, 45]}) df = df.drop_duplicates('COL2') # Displaying the result print(df)</code>
Dadurch wird der Datenrahmen mit eindeutigen Werten in COL2 ausgegeben:
COL1 | COL2 |
---|---|
a.com | 22 |
b.com | 45 |
c.com | 34 |
f.com | 56 |
Zusätzlich können Sie den Keep-Parameter angeben, um zu steuern, welche doppelten Zeilen beibehalten werden sollen. Standardmäßig wird das erste Vorkommen ('first') beibehalten, Sie können aber auch das letzte ('last') beibehalten oder alle Duplikate entfernen ('False').
<code class="python"># Keep first occurrence df = df.drop_duplicates('COL2', keep='first') # Keep last occurrence df = df.drop_duplicates('COL2', keep='last') # Remove all duplicates df = df.drop_duplicates('COL2', keep=False)</code>
Das obige ist der detaillierte Inhalt vonWie rufe ich Zeilen basierend auf unterschiedlichen Spaltenwerten in Pandas ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!