Hoe unieke waarden in meerdere kolommen in panda's te vinden


Vaak wil je misschien alle unieke waarden over meerdere kolommen vinden in een pandas DataFrame. Gelukkig is dit eenvoudig te doen met behulp van de pandas unique() functie in combinatie met de ravel() functie:

  • unique() : retourneert unieke waarden in volgorde van verschijning.
  • ravel(): retourneert een reeks afgevlakte gegevens.

Stel dat we bijvoorbeeld de volgende panda’s DataFrame hebben:

 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

Retourneert een array met unieke waarden

De volgende code laat zien hoe u unieke waarden kunt vinden in col1 en col2 :

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

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

Uit het resultaat kunnen we zien dat er 7 unieke waarden in deze twee kolommen voorkomen: a, b, c, d, e, f, g .

Retourneert DataFrame van unieke waarden

Als je deze waarden als DataFrame wilt retourneren in plaats van als array, kun je de volgende code gebruiken:

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

p.d. DataFrame (unique)

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

Retourneert het aantal unieke waarden

Als u alleen het aantal unieke waarden over meerdere kolommen wilt weten, kunt u de volgende code gebruiken:

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

len (unique)
7

Dit vertelt ons dat er 7 unieke waarden in deze twee kolommen staan.

Aanvullende bronnen

Hoe Pandas DataFrames over meerdere kolommen samen te voegen
Hoe u een Pandas DataFrame op meerdere voorwaarden kunt filteren

Einen Kommentar hinzufügen

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