Eindeutige Pandas-Werte in einer Spalte abrufen und diese sortieren

Manav Narula 26 Dezember 2020
  1. Eindeutige Werte in einer Pandas DataFrame-Spalte mit der Methode unique ermitteln
  2. Eindeutige Werte in einer Pandas DataFrame-Spalte mit der Methode drop_duplicates ermitteln
  3. Sortieren einer Spalte in Pandas DataFrame
Eindeutige Pandas-Werte in einer Spalte abrufen und diese sortieren

In diesem Artikel wird vorgestellt, wie man eindeutige Werte in der Spalte Pandas DataFrame erhält.

Nehmen wir zum Beispiel an, dass wir einen DataFrame haben, der aus Personen und ihren Berufen besteht, und wir wollen die Gesamtzahl der Berufe wissen. In diesem Fall können wir nicht einfach die Gesamtzahl der Zeilen verwenden, um die Gesamtzahl der eindeutigen Berufe zu bestimmen, da viele Personen denselben Beruf haben können. Für solche Situationen können wir die Funktionen unique() und drop_duplicates() verwenden, die von der Pandas-Bibliothek bereitgestellt werden.

Es ist auch wichtig zu wissen, wie man seinen DataFrame sortiert, da es helfen kann, die Daten zu visualisieren und zu verstehen. Die Funktionen sorted() und sort_values() können dabei helfen, dies zu erreichen.

In diesem Lernprogramm werden wir den folgenden DataFrame sortieren und entfernen.

import pandas as pd
import numpy as np

df = pd.DataFrame({"A": [7, 1, 5, 4, 2, 1, 4, 4, 8], "B": [1, 2, 8, 5, 3, 4, 2, 6, 8]})

print(df)

Ausgabe:

   A  B
0  7  1
1  1  2
2  5  8
3  4  5
4  2  3
5  1  4
6  4  2
7  4  6
8  8  8

Eindeutige Werte in einer Pandas DataFrame-Spalte mit der Methode unique ermitteln

Die Methode unique() von Pandas Series wird verwendet, wenn wir es mit einer einzelnen Spalte eines DataFrame zu tun haben und gibt alle eindeutigen Elemente einer Spalte zurück. Die endgültige Ausgabe mit der unique() Funktion ist ein Array.

Beispiel:

import pandas as pd
import numpy as np

df = pd.DataFrame({"A": [7, 1, 5, 4, 2, 1, 4, 4, 8], "B": [1, 2, 8, 5, 3, 4, 2, 6, 8]})

print(df["A"].unique())
print(type(df["A"].unique()))

Ausgabe:

[7 1 5 4 2 8]
numpy.ndarray

Eindeutige Werte in einer Pandas DataFrame-Spalte mit der Methode drop_duplicates ermitteln

Die Methode drop_duplicates() kann auf den DataFrame oder seine Untermenge angewendet werden und erhält den Typ des DataFrame-Objekts. Sie gilt auch als eine schnellere Option bei großen Datensätzen, um doppelte Werte zu entfernen.

Beispiel:

import pandas as pd
import numpy as np

df = pd.DataFrame({"A": [7, 1, 5, 4, 2, 1, 4, 4, 8], "B": [1, 2, 8, 5, 3, 4, 2, 6, 8]})

print(df.drop_duplicates(subset="A"))
print(type(df.drop_duplicates(subset="A")))

Ausgabe:

   A  B
0  7  1
1  1  2
2  5  8
3  4  5
4  2  3
8  8  8
pandas.core.frame.DataFrame

Sortieren einer Spalte in Pandas DataFrame

Wir können die Methode sorted() verwenden, um eine Spalte zu sortieren, aber sie konvertiert das Endergebnis in ein Objekt vom Typ Liste. Wir können die Spaltenwerte auch in absteigender Reihenfolge sortieren, indem wir den Parameter reversed auf True setzen.

Das folgende Beispiel sortiert die Spalte in aufsteigender Reihenfolge und entfernt die doppelten Werte:

import pandas as pd
import numpy as np

df = pd.DataFrame({"A": [7, 1, 5, 4, 2, 1, 4, 4, 8], "B": [1, 2, 8, 5, 3, 4, 2, 6, 8]})

df_new = df.drop_duplicates(subset="A")

print(sorted(df_new["A"]))
print(type(sorted(df_new["A"])))

Ausgabe:

[1, 2, 4, 5, 7, 8]
list

sort_values() ist eine weitere flexible Möglichkeit, einen DataFrame zu sortieren. Hier können wir mit dem Parameter by die zu sortierende Spalte angeben und mit dem Parameter ascending, ob die Reihenfolge aufsteigend oder absteigend ist. Dabei wird der Objekttyp als Pandas DataFrame beibehalten.

Das folgende Beispiel sortiert die Spalte in absteigender Reihenfolge und entfernt die doppelten Werte:

import pandas as pd
import numpy as np

df = pd.DataFrame({"A": [7, 1, 5, 4, 2, 1, 4, 4, 8], "B": [1, 2, 8, 5, 3, 4, 2, 6, 8]})

df_new = df.drop_duplicates(subset="A")

print(df_new.sort_values(by="A", ascending=False))
type(df_new.sort_values(by="A"))

Ausgabe:

   A  B
8  8  8
0  7  1
2  5  8
3  4  5
4  2  3
1  1  2
pandas.core.frame.DataFrame
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Verwandter Artikel - Pandas DataFrame