Cara menemukan nilai unik di beberapa kolom di pandas
Seringkali Anda mungkin ingin menemukan semua nilai unik di beberapa kolom dalam pandas DataFrame. Untungnya, hal ini mudah dilakukan dengan menggunakan fungsi pandas Unique() yang dikombinasikan dengan fungsi ravel() :
- unik() : mengembalikan nilai unik dalam urutan tampilan.
- ravel(): mengembalikan serangkaian data yang diratakan.
Misalnya, kita memiliki DataFrame panda berikut:
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
Mengembalikan array nilai unik
Kode berikut menunjukkan cara mencari nilai unik di col1 dan col2 :
p.d. unique (df[[' col1 ', ' col2 ']]. values . ravel ()) array(['a', 'b', 'c', 'e', 'd', 'f', 'g'], dtype=object)
Dari hasilnya terlihat ada 7 nilai unik pada dua kolom tersebut: a, b, c, d, e, f, g .
Kembalikan DataFrame dengan nilai unik
Jika Anda ingin mengembalikan nilai-nilai ini sebagai DataFrame dan bukan array, Anda dapat menggunakan kode berikut:
unique = pd. unique (df[[' col1 ', ' col2 ']]. values . ravel ()) p.d. DataFrame (unique) 0 0 a 1b 2 tbsp 3rd 4 d 5f 6g
Mengembalikan jumlah nilai unik
Jika Anda hanya ingin mengetahui jumlah nilai unik di beberapa kolom, Anda dapat menggunakan kode berikut:
unique = pd. unique (df[[' col1 ', ' col2 ']]. values . ravel ()) len (unique) 7
Ini memberitahu kita bahwa ada 7 nilai unik di dua kolom ini.
Sumber daya tambahan
Cara menggabungkan Pandas DataFrames di beberapa kolom
Cara memfilter Pandas DataFrame pada berbagai kondisi