Menu
CoddyTech

列から散布図を作成する

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

バッテリーが大きいほど、航続距離は長くなるのでしょうか?2列の散布図なら、一目でわかります。各行が1つの点です:

「E-bike Range」と題された散布図:7台の電動自転車を点で示し、横軸はバッテリー容量(Wh)、縦軸は航続距離(km)で、250 Wh・35 kmから750 Wh・110 kmまで、ともに上昇している

リストが使われていた場所には列を使うので、ax.scatterには2つの列を渡します:

bikes = pd.DataFrame({
    "battery_wh": [250, 300, 400, 500, 500, 625, 750],
    "range_km": [35, 45, 60, 65, 75, 95, 110],
})
fig, ax = plt.subplots()
ax.scatter(bikes["battery_wh"], bikes["range_km"])
ax.set_title("E-bike Range")
ax.set_xlabel("Battery (Wh)")
ax.set_ylabel("Range (km)")
plt.show()

右上がりの点は、列が一緒に増えることを意味します。これはモデルが学習できる関係です。形のない雲は、関係がないことを意味します。

ax.scatterには列名は渡されないため、軸ラベルは自分で設定します。

challenge icon

チャレンジ

中級

公園管理人がtrees.csvにある12本の木を測定しました。項目はage_years、trunk_cm、height_mです。高さと年齢、幹の幅のどちらが関係しているでしょうか?スターターコードでは、その2つの名前のどちらかをcolumnに読み込み、グラフを準備します。

  1. 木1本につき点を1つ描きます。横軸にはその列を、縦軸にはheight_mを使います。
  2. x軸に列の名前を付けます。

別の公園のcrown_mを使った、次のグラフのようになるはずです。

Tree Sizeというタイトルの散布図。横軸はcrown_m、縦軸はHeight (m):小さな樹冠を持ち高さ約6 mの木から、樹冠が7.5 mで高さ14 mの木まで、10個の点が緩やかに上昇している

Coddyは両方の列でコードを実行し、それぞれのグラフについて説明します。2つを比べてみましょう。より密に上昇する帯状の分布が、答えを示しています。

自分で試してみよう

import pandas as pd
import matplotlib.pyplot as plt

trees = pd.read_csv("trees.csv")
column = input()

fig, ax = plt.subplots()
ax.set_title("Tree Size")
ax.set_ylabel("Height (m)")

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

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

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

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

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