Jak znaleźć unikalne wartości w wielu kolumnach w pandach


Często możesz chcieć znaleźć wszystkie unikalne wartości w wielu kolumnach w ramce DataFrame pandy. Na szczęście można to łatwo zrobić, korzystając z funkcji pandas Unique() połączonej z funkcją ravel() :

  • unikalne() : zwraca unikalne wartości w kolejności występowania.
  • ravel(): zwraca serię spłaszczonych danych.

Załóżmy na przykład, że mamy następującą ramkę danych pand:

 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

Zwraca tablicę unikalnych wartości

Poniższy kod pokazuje, jak znaleźć unikalne wartości w col1 i col2 :

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

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

Z wyniku widzimy, że w tych dwóch kolumnach znajduje się 7 unikalnych wartości: a, b, c, d, e, f, g .

Zwróć ramkę danych o unikalnych wartościach

Jeśli chcesz zwrócić te wartości jako DataFrame zamiast tablicy, możesz użyć następującego kodu:

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

p.d. DataFrame (unique)

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

Zwraca liczbę unikalnych wartości

Jeśli chcesz tylko poznać liczbę unikalnych wartości w wielu kolumnach, możesz użyć następującego kodu:

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

len (unique)
7

To mówi nam, że w tych dwóch kolumnach znajduje się 7 unikalnych wartości.

Dodatkowe zasoby

Jak połączyć ramki danych Pandas w wielu kolumnach
Jak filtrować ramkę danych Pandas pod wieloma warunkami

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *