カテゴリの再マッピング
airlines のアンケート回答をよりよく理解するために、特定の回答と曜日・ゲートでの待ち時間との関係を調べたいとします。
airlines DataFrame には、カテゴリ変数の day と数値変数の wait_min 列があります。day にはフライトが行われた正確な曜日、wait_min には搭乗口での待ち時間(分)が入っています。分析をしやすくするため、次の2つの新しいカテゴリ変数を作成します。
wait_type: 0〜60 分なら'short'、60〜180 分なら'medium'、180 分以上はlongday_week: 平日なら'weekday'、週末なら'weekend'
pandas と numpy パッケージはそれぞれ pd と np としてインポート済みです。さっそく新しいカテゴリデータを作っていきましょう!
この演習はコースの一部です
Pythonで学ぶデータクリーニング
演習の手順
- 説明で示した
wait_type列用の範囲とラベルを作成します。 pd.cut()を使ってwait_minからwait_type列を作成し、label_rangesとlabel_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)