Menu
CoddyTech

列のヒストグラム

CoddyのMachine Learningジャーニー「データとプロット」セクションの一部。レッスン 50/60。

クリニックでの夕方の待ち時間は、朝より長いでしょうか?1つの座標軸に重ねた2つのヒストグラムを見れば、一目でわかります。

クリニックでの待ち時間を示す、半透明のヒストグラムが2つ。左の朝の待ち時間は6~16分、右の夕方の待ち時間は13~28分で、少し重なっている

列はそのままax.histに渡します。各グループの行を分けてから、同じ座標軸上に両方を描画します。

# waits には shift 列と minutes 列がある
morning = waits[waits["shift"] == "morning"]
evening = waits[waits["shift"] == "evening"]
fig, ax = plt.subplots()
ax.hist(morning["minutes"], bins=4, alpha=0.5, label="morning")
ax.hist(evening["minutes"], bins=4, alpha=0.5, label="evening")
ax.set_title("Clinic Waits")
ax.set_xlabel("Minutes")
ax.legend()
plt.show()

alpha=0.5にすると棒が半透明になり(0は透明、1は不透明)、重なりが見えるままになります。label=は凡例に表示するそれぞれの名前を指定します。

グループが異なる範囲に広がっている場合、その列はモデルがそれらを区別するのに役立ちます。

challenge icon

チャレンジ

中級

あるオフィスで、通勤にかかる時間をスタッフに尋ねました。commute.csvにはmode(bikeまたはbus)とminutesが含まれています。どちらの所要時間のばらつきが大きいでしょうか?スターターコードでは各グループをbikeとbusに分け、グラフの枠組みを用意しています。

各グループのminutesのヒストグラムを、bins=5、alpha=0.5、ラベルbikeまたはbusで描いてください。

昨年の調査結果を使った次のグラフのようになるはずです。

タイトルがCommute Timesの半透明のヒストグラムが2つ:bikeの所要時間は14~26分に集中し、busの所要時間は15~45分に広がっている。凡例付き

棒がより多くの分数にまたがっているグループのほうが、ばらつきが大きいグループです。Coddyは出力にあなたのグラフの説明を表示します。

自分で試してみよう

import pandas as pd
import matplotlib.pyplot as plt

trips = pd.read_csv("commute.csv")
bike = trips[trips["mode"] == "bike"]
bus = trips[trips["mode"] == "bus"]

fig, ax = plt.subplots()
ax.set_title("Commute Times")
ax.set_xlabel("Minutes")

# 以下にコードを書いてください

# 以下の行は変更しないでください
ax.legend()
plt.show()
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

データとプロットのすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ