ภาพรวม
ใช้ unique() ดึงค่าที่ไม่ซ้ำ และ nunique() นับจำนวนค่า unique
ตัวอย่างโค้ด
import pandas as pd
dataFrame = pd.DataFrame({
"Car": ['BMW', 'Audi', 'BMW', 'Lexus', 'Tesla', 'Lexus', 'Mustang'],
"Place": ['Delhi', 'Bangalore', 'Hyderabad', 'Chandigarh', 'Pune', 'Mumbai', 'Jaipur'],
"Units": [100, 150, 50, 110, 90, 120, 80]
})
print("DataFrame ...\n", dataFrame)
# Unique values
print("\nUnique values from a column ...\n", dataFrame['Car'].unique())
# Count unique
print("\nCount unique values from a column ...\n", dataFrame['Car'].nunique())
ผลลัพธ์
DataFrame ...
Car Place Units
0 BMW Delhi 100
1 Audi Bangalore 150
2 BMW Hyderabad 50
3 Lexus Chandigarh 110
4 Tesla Pune 90
5 Lexus Mumbai 120
6 Mustang Jaipur 80
Unique values from a column ...
['BMW' 'Audi' 'Lexus' 'Tesla' 'Mustang']
Count unique values from a column ...
5
รายละเอียดเพิ่มเติม
unique()คืน numpy array เรียงตามลำดับที่เจอ (preserve order)nunique()นับ distinct values ไม่นับ NaN (default dropna=True)value_counts()นับความถี่แต่ละค่า เรียงจากมากไปน้อย
ตัวอย่างเพิ่มเติม
# ดูความถี่
print(dataFrame['Car'].value_counts())
# BMW 2
# Lexus 2
# Audi 1
# Tesla 1
# Mustang 1
# Unique หลายคอลัมน์
print(dataFrame[['Car', 'Place']].drop_duplicates())
# Unique แบบ include NaN
print(dataFrame['Car'].nunique(dropna=False))