Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Pandas - หาค่าที่ไม่ซ้ำกัน (Unique Values) จากคอลัมน์เดียว

เมธอด 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