始める無料で始める

カテゴリの再マッピング

airlines のアンケート回答をよりよく理解するために、特定の回答と曜日・ゲートでの待ち時間との関係を調べたいとします。

airlines DataFrame には、カテゴリ変数の day と数値変数の wait_min 列があります。day にはフライトが行われた正確な曜日、wait_min には搭乗口での待ち時間(分)が入っています。分析をしやすくするため、次の2つの新しいカテゴリ変数を作成します。

  • wait_type: 0〜60 分なら 'short'、60〜180 分なら 'medium'、180 分以上は long
  • day_week: 平日なら 'weekday'、週末なら 'weekend'

pandasnumpy パッケージはそれぞれ pdnp としてインポート済みです。さっそく新しいカテゴリデータを作っていきましょう!

この演習はコースの一部です

Pythonで学ぶデータクリーニング

コースを見る

演習の手順

  • 説明で示した wait_type 列用の範囲とラベルを作成します。
  • pd.cut() を使って wait_min から wait_type 列を作成し、label_rangeslabel_names を正しい引数に渡します。
  • 平日を 'weekday'、週末を 'weekend' に対応づける mapping 辞書を作成します。
  • .replace() を用いて day_week 列を作成します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Create ranges for categories
label_ranges = [0, 60, ____, np.inf]
label_names = ['short', ____, ____]

# Create wait_type column
airlines['wait_type'] = pd.____(____, bins = ____, 
                                labels = ____)

# Create mappings and replace
mappings = {'Monday':'weekday', 'Tuesday':'____', 'Wednesday': '____', 
            'Thursday': '____', '____': '____', 
            'Saturday': 'weekend', '____': '____'}

airlines['day_week'] = airlines['day'].____(mappings)
コードを編集して実行