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