แนะนำคอร์ส

การทำงานกับข้อมูลเชิงกลุ่มใน Python

Kasey Jones

Research Data Scientist

ข้อมูลเชิงกลุ่ม (Categorical) คืออะไร?

เชิงกลุ่ม (Categorical)

  • มีจำนวนกลุ่ม (หรือหมวดหมู่) จำกัด
  • หมวดหมู่เหล่านี้มักกำหนดไว้ล่วงหน้า (เช่น สีตา สีผม)
  • เรียกอีกชื่อว่าข้อมูลเชิงคุณภาพ

เชิงตัวเลข (Numerical)

  • เรียกอีกชื่อว่าข้อมูลเชิงปริมาณ
  • แสดงค่าในรูปตัวเลข
  • มักเป็นค่าที่ได้จากการวัด (เช่น ส่วนสูง น้ำหนัก IQ)
การทำงานกับข้อมูลเชิงกลุ่มใน Python

ตัวแปร Ordinal กับ Nominal

Ordinal

  • ตัวแปรเชิงกลุ่มที่มีลำดับตามธรรมชาติ

คำตอบในแบบสำรวจมักเรียงจาก "ไม่เห็นด้วยอย่างยิ่ง" ถึง "เห็นด้วยอย่างยิ่ง" ซึ่งมีลำดับเชิงตรรกะที่ชัดเจน

Nominal

  • ตัวแปรเชิงกลุ่มที่ไม่มีลำดับตามธรรมชาติ

บางหมวดหมู่ เช่น การเลือกสีจากรายการ ("Blue", "Green", "Red", "Yellow", "purple") ไม่มีลำดับเชิงตรรกะ

การทำงานกับข้อมูลเชิงกลุ่มใน Python

ชุดข้อมูลแรกของเรา

adult.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 32561 entries, 0 to 32560
Data columns (total 15 columns):
 #   Column           Non-Null Count  Dtype 
 --  ------           --------------  ----- 
 0   Age              32561 non-null  int64 
 1   Workclass        32561 non-null  object
 2   fnlgwt           32561 non-null  int64 
 3   Education        32561 non-null  object
 4   Education Num    32561 non-null  int64 
 5   Marital Status   32561 non-null  object
...
1 https://www.kaggle.com/uciml/adult-census-income
การทำงานกับข้อมูลเชิงกลุ่มใน Python

การใช้ describe

adult["Marital Status"].describe()
count                   32561
unique                      7
top        Married-civ-spouse
freq                    14976
Name: Marital Status, dtype: object
การทำงานกับข้อมูลเชิงกลุ่มใน Python

การใช้ value_counts

adult["Marital Status"].value_counts()
 Married-civ-spouse       14976
 Never-married            10683
 Divorced                  4443
 Separated                 1025
 Widowed                    993
 Married-spouse-absent      418
 Married-AF-spouse           23
Name: Marital Status, dtype: int64
การทำงานกับข้อมูลเชิงกลุ่มใน Python

การใช้ value_counts พร้อม normalize

adult["Marital Status"].value_counts(normalize=True)
 Married-civ-spouse       0.459937
 Never-married            0.328092
 Divorced                 0.136452
 Separated                0.031479
 Widowed                  0.030497
 Married-spouse-absent    0.012837
 Married-AF-spouse        0.000706
Name: Marital Status, dtype: float64
การทำงานกับข้อมูลเชิงกลุ่มใน Python

ทบทวนความเข้าใจ

การทำงานกับข้อมูลเชิงกลุ่มใน Python

Preparing Video For Download...