เมธอด unique() ของ Pandas Series ใช้สำหรับดึงค่าที่ไม่ซ้ำกัน (distinct values) จากคอลัมน์ใดคอลัมน์หนึ่งใน DataFrame ซึ่งเป็นการดำเนินการพื้นฐานที่ใช้บ่อยในการสำรวจข้อมูล (Data Exploration)
ขั้นตอนการทำงาน
1. นำเข้าไลบรารี
import pandas as pd
2. สร้าง DataFrame ตัวอย่าง
dataFrame = pd.DataFrame({
"EmpName": ['John', 'Ted', 'Jacob', 'Scarlett', 'Ami', 'Ted', 'Scarlett'],
"Zone": ['North', 'South', 'South', 'East', 'West', 'East', 'North']
})
3. ดึงค่า Unique จากคอลัมน์ EmpName
unique_names = dataFrame['EmpName'].unique()
print(unique_names)
โค้ดตัวอย่างสมบูรณ์
import pandas as pd
# สร้าง DataFrame
dataFrame = pd.DataFrame({
"EmpName": ['John', 'Ted', 'Jacob', 'Scarlett', 'Ami', 'Ted', 'Scarlett'],
"Zone": ['North', 'South', 'South', 'East', 'West', 'East', 'North']
})
print("DataFrame:\n", dataFrame)
# ดึงค่าที่ไม่ซ้ำกันจากคอลัมน์ EmpName
unique_names = dataFrame['EmpName'].unique()
print(f"\nUnique Employee Names = {unique_names}")
ผลลัพธ์
DataFrame:
EmpName Zone
0 John North
1 Ted South
2 Jacob South
3 Scarlett East
4 Ami West
5 Ted East
6 Scarlett North
Unique Employee Names = ['John' 'Ted' 'Jacob' 'Scarlett' 'Ami']
คุณสมบัติเพิ่มเติม
unique()คืนค่าเป็น NumPy array (1-D)- รักษาลำดับตามที่ปรากฏในข้อมูลต้นฉบับ (preserves order of appearance)
- ทำงานได้เร็วมาก เนื่องจากใช้ hash table ด้านใน
- สำหรับนับจำนวนค่า unique ใช้
nunique()แทน
ตัวอย่างเพิ่มเติม: นับจำนวนค่า Unique
# นับจำนวนชื่อที่ไม่ซ้ำกัน
count_unique = dataFrame['EmpName'].nunique()
print(f"จำนวนชื่อที่ไม่ซ้ำกัน: {count_unique}") # ผลลัพธ์: 5