演習課題「相関係数」
右のコードエリアではスキルチェックの提出データが読み込まれ、正解データだけが抽出されたものに問題の難易度の列が加えられています。accepted_with_diffにおける"time"列と"difficulty"列の相関係数をSeriesのcorrメソッドで算出して表示してください(ノートブック上で表示されていれば、print()で出力する必要はありません)。採点の前にはすべてのセルを実行し、ノートブックを保存してください。
#06:記述統計量の算出
このチャプターでは、問題データや提出データの統計的な特徴を調べます。
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()
accepted = submissions.query("score == 100")
prob_diff = problems.loc[:, ["problem_name", "difficulty"]]
accepted_with_diff = pd.merge(accepted, prob_diff)
accepted_with_diff
accepted_with_diff["bytes"].corr(accepted_with_diff["difficulty"])
grouped_by_lang = accepted_with_diff.groupby("language")
for lang, data in grouped_by_lang:
corr = data["bytes"].corr(data["difficulty"])
print(f"{lang}: {corr}")
0.0 ~ 0.2 ... ほとんど相関なし
~ 0.4 弱い正の相関
~ 0.7 正の相関あり
~ 1.0 強い正の相関