コースの紹介

Pythonでカテゴリカルデータを扱う

Kasey Jones

Research Data Scientist

「カテゴリ型」とは?

【カテゴリ型】

  • 限られた個数の群(カテゴリ)
  • これらのカテゴリは通常固定・既知(目の色、髪の色など)
  • 質的データとも呼ぶ

【数値型】

  • 量的データとも呼ぶ
  • 数値で表す
  • たいてい測定値(身長、体重、IQ など)
Pythonでカテゴリカルデータを扱う

順序尺度 vs. 名義尺度

順序尺度(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でカテゴリカルデータを扱う

normalize 付き value_counts

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...