Як знайти унікальні значення в кількох стовпцях у pandas


Часто вам може знадобитися знайти всі унікальні значення в кількох стовпцях у pandas DataFrame. На щастя, це легко зробити за допомогою функції pandas unique() у поєднанні з функцією ravel() :

  • unique() : повертає унікальні значення в порядку появи.
  • ravel(): повертає ряд зведених даних.

Наприклад, припустімо, що у нас є наступні 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

Повертає масив унікальних значень

Наступний код показує, як знайти унікальні значення в col1 і col2 :

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

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

З результату ми бачимо, що в цих двох стовпцях є 7 унікальних значень: a, b, c, d, e, f, g .

Повертає DataFrame унікальних значень

Якщо ви хочете повернути ці значення як DataFrame замість масиву, ви можете використовувати такий код:

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

p.d. DataFrame (unique)

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

Повертає кількість унікальних значень

Якщо ви просто хочете знати кількість унікальних значень у кількох стовпцях, ви можете використати такий код:

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

len (unique)
7

Це говорить нам про те, що в цих двох стовпцях є 7 унікальних значень.

Додаткові ресурси

Як об’єднати Pandas DataFrames у кількох стовпцях
Як відфільтрувати Pandas DataFrame за кількома умовами

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *