演習課題「階層的インデックスの貼り付け」
右のコードエリアではスキルチェックの提出データが読み込まれ、言語・問題名の順の優先度でソートされています。lang_and_nameを階層的インデックスに変換したものをlang_submissionsにインデックスとして貼り付け、言語・問題名の階層的インデックスを持ったDataFrameを作成し、表示してください。採点の前にはすべてのセルを実行し、ノートブックを保存してください。
#05:階層的インデックスの導入
このチャプターでは、マージ後のテーブルに階層的インデックスを導入します。
import pandas as pd
import seaborn as sns
problems = pd.read_csv("csv/problems.csv")
submissions = pd.read_csv("csv/submissions.csv")
problems.columns = ["problem_name", "rank", "difficulty"]
submissions.columns = ["problem_name", "bytes", "score", "language", "time"]
submissions = submissions.dropna()
prob_rank = problems.loc[:, ["problem_name", "rank"]]
submissions_with_rank = pd.merge(submissions, prob_rank).sort_values(by=["rank", "problem_name"])
rank_and_name = submissions_with_rank.loc[:, ["rank", "problem_name"]]
mind = pd.MultiIndex.from_frame(rank_and_name)
ranked_submissions = submissions_with_rank.loc[:, ["bytes", "score", "language", "time"]]
ranked_submissions.index = mind
ranked_submissions