So finden sie in pandas eindeutige werte in mehreren spalten


Häufig möchten Sie möglicherweise alle eindeutigen Werte über mehrere Spalten in einem Pandas-DataFrame finden. Glücklicherweise ist dies mit der Funktion pandas unique() in Kombination mit der Funktion ravel() einfach zu bewerkstelligen:

  • unique() : Gibt eindeutige Werte in der Reihenfolge ihres Auftretens zurück.
  • ravel(): gibt eine Reihe abgeflachter Daten zurück.

Angenommen, wir haben den folgenden Pandas-DataFrame:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'col1': ['a', 'b', 'c', 'd', 'e'],
                   'col2': ['a', 'c', 'e', 'f', 'g'],
                   'col3': [11, 8, 10, 6, 6]})

#view DataFrame 
print(df)

  col1 col2 col3
0 aa 11
1 bc 8
2 this 10
3 df 6
4 eg 6

Gibt ein Array eindeutiger Werte zurück

Der folgende Code zeigt, wie man eindeutige Werte in col1 und col2 findet:

 p.d. unique (df[[' col1 ', ' col2 ']]. values . ravel ())

array(['a', 'b', 'c', 'e', 'd', 'f', 'g'], dtype=object)

Aus dem Ergebnis können wir ersehen, dass diese beiden Spalten 7 eindeutige Werte enthalten: a, b, c, d, e, f, g .

Gibt einen DataFrame mit eindeutigen Werten zurück

Wenn Sie diese Werte als DataFrame statt als Array zurückgeben möchten, können Sie den folgenden Code verwenden:

 unique = pd. unique (df[[' col1 ', ' col2 ']]. values . ravel ())

p.d. DataFrame (unique)

	0
0 a
1b
2 tbsp
3rd
4 d
5f
6g

Gibt die Anzahl der eindeutigen Werte zurück

Wenn Sie nur die Anzahl der eindeutigen Werte über mehrere Spalten hinweg wissen möchten, können Sie den folgenden Code verwenden:

 unique = pd. unique (df[[' col1 ', ' col2 ']]. values . ravel ())

len (unique)
7

Dies sagt uns, dass diese beiden Spalten 7 eindeutige Werte enthalten.

Zusätzliche Ressourcen

So führen Sie Pandas DataFrames über mehrere Spalten hinweg zusammen
So filtern Sie einen Pandas DataFrame nach mehreren Bedingungen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert