ข้อมูลประเภท Categorical ใน pandas

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

Kasey Jones

Research Data Scientist

dtypes: object

adult = pd.read_csv("data/adult.csv")
adult.dtypes
Age                 int64
Workclass          object
fnlgwt              int64
Education          object
Education Num       int64
Marital Status     object
Occupation         object
Relationship       object
...
การทำงานกับข้อมูลเชิงกลุ่มใน Python

dtypes: categorical

dtype เริ่มต้น:

adult["Marital Status"].dtype
dtype('O')

กำหนดเป็น categorical:

adult["Marital Status"] = adult["Marital Status"].astype("category")
adult["Marital Status"].dtype
CategoricalDtype(categories=[' Divorced', ' Married-AF-spouse',
' Married-civ-spouse', ' Married-spouse-absent', ' Never-married',
' Separated', ' Widowed'], ordered=False)
การทำงานกับข้อมูลเชิงกลุ่มใน Python

การสร้าง Series แบบ categorical

my_data = ["A", "A", "C", "B", "C", "A"]
my_series1 = pd.Series(my_data, dtype="category")
print(my_series1)
0    A
1    A
2    C
...
dtype: category
Categories (3, object): [A, B, C]
การทำงานกับข้อมูลเชิงกลุ่มใน Python

การสร้าง Series แบบ categorical

my_data = ["A", "A", "C", "B", "C", "A"]
my_series2 = pd.Categorical(my_data, categories=["C", "B", "A"], ordered=True)
my_series2
[A, A, C, B, C, A]
Categories (3, object): [C < B < A]
การทำงานกับข้อมูลเชิงกลุ่มใน Python

ทำไมต้องใช้ categorical: หน่วยความจำ

ประหยัดหน่วยความจำ:

adult = pd.read_csv("data/adult.csv")
adult["Marital Status"].nbytes
260488
adult["Marital Status"] = adult["Marital Status"].astype("category")
adult["Marital Status"].nbytes
32617
การทำงานกับข้อมูลเชิงกลุ่มใน Python

ระบุ dtype ขณะอ่านข้อมูล

  1. สร้าง dictionary:

    adult_dtypes = {"Marital Status": "category"}
    
  2. กำหนดพารามิเตอร์ dtype:

    adult = pd.read_csv("data/adult.csv", dtype=adult_dtypes)
    
  3. ตรวจสอบ dtype:

    adult["Marital Status"].dtype
    
CategoricalDtype(categories=[' Divorced', ' Married-AF-spouse',
                             ..., ' Widowed'], ordered=False)
การทำงานกับข้อมูลเชิงกลุ่มใน Python

ฝึกใช้ category ใน pandas

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

Preparing Video For Download...