Pythonで初めてのグラフ作成|CSVの意味からGoogle Colabでの操作まで

Pythonで初めてのグラフ作成。CSVから、まず1つ描いてみる。 Python・データ解析

「Pythonでデータ解析」と聞くと、難しい計算や長いプログラムを想像するかもしれません。今回は、時間と温度を記録した小さな表から、折れ線グラフを1つ作ってみます。Pythonを使ったことがなくても、CSVという言葉を初めて聞いた人でも、ここから始められるように順番に説明します。

1.この記事で作るもの:この表をグラフにする

使うのは、1分ごとの温度を並べた6行のデータです。説明用に作った架空のデータで、実際の測定結果ではありません。

時間[分]温度[℃]
020
124
229
333
436
538

この表から、下のグラフを作ります。横方向に時間、縦方向に温度を置くと、温度が上がっていく様子をひと目で追えます。

架空の温度データ。横軸は時間(分)、縦軸は温度(℃)。0分20℃から5分38℃まで6点を線で結んだグラフ。
掲載コードで作成したグラフ。Timeは時間、Temperatureは温度です。

表の1行が、グラフの1点になります。たとえば「2分、29℃」の行は、横が2、縦が29の場所にある点です。今回は、6つの点を線でつないで変化を見やすくします。

この記事のゴールは、CSVの意味を知り、Pythonに読み込ませ、表とグラフを自分で表示することです。コードを暗記する必要はありません。まず動かして、結果を確かめましょう。

2.そもそもCSVとは?

CSVは、表をとても単純な形で保存したファイルです。Excelのようにマス目が見える形式ではなく、文字と数字をカンマで区切って並べます。今回のファイルの中身は、実際にこの7行だけです。

time_min,temperature_c
0,20
1,24
2,29
3,33
4,36
5,38

これは、先ほど見た表とまったく同じデータです。見た目は違いますが、カンマの左側が「時間」、右側が「温度」に対応しています。

例えば 2,29 は、「2分のとき、温度は29℃だった」という意味です。

一番上の time_min,temperature_c は、それぞれの列の名前です。time_min は「時間(分)」、temperature_c は「温度(℃)」を表しています。

CSVはComma-Separated Valuesの略ですが、今は「カンマで区切った表」と覚えれば十分です。ファイル名の最後につく.csvは、CSV形式のファイルだという目印です。

3.数字を読み込んで、何を調べるの?

ファイルを読み込むこと自体が目的ではありません。並んだ数字から、知りたいことを取り出すために読み込みます。これがデータ解析の入り口です。

たとえば、温度は時間とともにどう変わるのか、平均はいくつか、一番高い値・低い値はいくつか、ほかと大きく違う値がないか、といったことを調べられます。電圧と電流など、2つの量が一緒に増えるかを調べることもできます。

今回の6行なら、目で見ても変化を追えます。でも、100行、1万行、100万行となると、一つずつ確認するのは大変です。

そこで、計算したりグラフを作ったりする作業をPythonに任せます。そうすれば、人は「このデータから何が分かるのか」を考えることに時間を使えます。

4.Excelでもできるのに、なぜPythonを使うの?

今回のような小さな表やグラフなら、Excelも便利です。表を見ながら、マウスで操作できます。Pythonを覚える理由は、Excelでできないからではなく、同じ処理を繰り返したくなる場面で役立つからです。

比べることExcelPython
作業の始め方表を見ながら、セルやメニューを操作する処理の手順を短いコードに書く
向いている場面少量のデータを確認したり、その場で表を整えたりする多数のファイルに、同じ計算や作図を繰り返す
作業の記録数式などを保存できる。操作の記録は工夫が必要実行したコードを手順として残せる
自動化マクロやPower Queryなどでも可能ファイルの読み込みから計算・作図・保存までコードでまとめられる

たとえば、実験で毎日100個のCSVができるとします。100個を一つずつ開き、同じグラフを作って保存するのは手間がかかります。Pythonなら、一度手順を書いておけば「全部読み込む → 計算する → グラフを作る → 保存する」をまとめて行うプログラムにできます。

もちろん、いきなり100個のファイルを扱う必要はありません。今回は、その最初の一歩として、たった1つのCSVをPythonで読み込んでグラフにします。

まず1つのファイルで「読み込む → データを見る → グラフにする」という流れが分かれば、あとで同じ処理を10個、100個のファイルに広げていくこともできます。

5.準備:Google Colabを開く

今回はGoogle Colabを使います。ブラウザ上にコードを書いて実行できるGoogleのサービスです。パソコンにPythonを入れる作業から始めなくて済みます。Googleアカウントと、インターネットにつながるパソコンを用意してください。この記事の作業で有料プランを選ぶ必要はありません。

① Colabを開き、必要ならGoogleアカウントでログインします。
②「ノートブックを新規作成」を選びます。見当たらなければ、上の「ファイル」メニューから「ノートブックを新規作成」を選びます。
③ 新しい画面が開いたら、上部の名前を「はじめてのグラフ」などに変えます。

ノートブックは、コードとその実行結果を一緒に残すノートです。横長の入力欄を「セル」と呼びます。コードは、画面横のAIへの質問欄ではなく、このセルに貼り付けます。

まず1行だけ動かしてみる

最初のコード欄に、次の1行を貼り付けます。コード欄がなければ上部の「+コード」で追加できます。

print("準備できました")

セルの左の▶を押します。初回は接続の準備に少し時間がかかることがあります。処理が終わると、入力欄の下に次の文字が出ます。

準備できました

「準備できました」と表示されたら成功です。 これで、Pythonのコードを実行できることが確認できました。

この先も基本操作は同じです。「+コード」で新しいセルを追加し、この記事のコードを貼り付けて、左側の▶を押します。難しく見えるコードが出てきても、まずは上から順番に実行していけば大丈夫です。

6.サンプルCSVをColabへ入れる

使うファイル名はtemperature.csvです。中身は冒頭に載せた6行の時間と温度です。

サンプルCSVをダウンロード(temperature.csv)。文字だけの画面が開く場合は、リンクを右クリックして「リンク先を保存」を選びます。保存先は「ダウンロード」フォルダーで構いません。

① サンプルCSVをパソコンへ保存します。
② Colabの画面左にあるフォルダーのアイコンを押します。
③ 開いた「ファイル」欄のアップロードのアイコン(上向きの矢印)を押します。
④ 保存したtemperature.csvを選んで開きます。

左側のファイル一覧に temperature.csv と表示されたら、アップロード成功です。 ここまでできれば、次はPythonからこのファイルの中身を読み込めます。パソコンにあるファイルを、Colabの作業場所へコピーできました。「セッション終了時にファイルが削除される」という案内が出ることがあります。元のパソコンのファイルが消えるという意味ではありません。別の日に再開するときは、再度アップロードする場合があります。

7.CSVを読み込む:1行ずつ進めよう

① 表を扱う道具を準備する

表を読み込むために、pandas(パンダス)という道具を使います。「+コード」で新しいセルを作り、この1行を貼り付けて▶を押してください。

import pandas as pd

この行は「表を扱う道具を使えるようにする」という準備です。文字や表が出なくても正常です。実行が終わり、赤いエラーが出ていなければ次へ進めます。

② CSVを読み込む

その下にもう1つセルを追加し、次の1行を実行します。

df = pd.read_csv("temperature.csv")

今は「temperature.csvというファイルを読み込んでください」とPythonにお願いしている、と考えればOKです。dfは、読み込んだ表につけた名前です。この行も、正常なら表はまだ表示されません。

③ 読み込んだ表を見せてもらう

次のセルには、この2文字だけを入れて実行します。

df

セルの下に、次のような表が出ます。これはサンプルCSVをpandasで読み込んだ結果です。画面によって表の色やボタンの位置は変わりますが、列名と数字を見比べてください。

行番号(index)time_mintemperature_c
0020
1124
2229
3333
4436
5538

一番左の0〜5は、pandasが表につけた行番号(index/インデックス)です。CSVに新しい測定値が増えたわけではありません。time_min と temperature_c がCSVから読み込んだ2つの列です。

6行が表示され、最初が0分・20℃、最後が5分・38℃なら成功です。CSVの文字と数字が、Pythonで扱える表になりました。

8.グラフを作る

① グラフを描く道具を準備する

今度はMatplotlib(マットプロットリブ)という、グラフを描く道具を使います。新しいセルで、この1行を実行します。

import matplotlib.pyplot as plt

これも準備の行なので、何も表示されなくて大丈夫です。

② 時間を横軸、温度を縦軸にする

次のコードは、8行まとめて1つの新しいセルに貼り付けて実行してください。Colabでは、グラフを作る途中でセルを分けると、途中の図が表示されることがあります。ここはひとまとまりで動かします。

plt.figure(figsize=(6, 4))
plt.plot(df["time_min"], df["temperature_c"], marker="o")
plt.xlabel("Time (min)")
plt.ylabel("Temperature (°C)")
plt.title("Temperature over time")
plt.grid(True)
plt.tight_layout()
plt.show()

全部の書き方を覚える必要はありません。今回は、このコードをまとめて実行すれば「時間を横軸、温度を縦軸にしたグラフができる」と分かれば十分です。
plot がデータをグラフにし、xlabel・ylabel が軸の名前をつけています。ほかの設定は、グラフを見やすくするためのものです。

実行すると、最初に見たグラフがセルの下に出ます。

架空の温度データ。横軸は時間(分)、縦軸は温度(℃)。0分20℃から5分38℃まで6点を線で結んだグラフ。
掲載コードで作成したグラフ。Timeは時間、Temperatureは温度です。

丸い点が6つあり、右に進むほど温度が上がっていれば成功です。表の「2分・29℃」がグラフのどこにあるか、探してみてください。これで、CSVを読み込んでグラフを1つ作れました。

図中の英語は、Time=時間、Temperature=温度です。グラフ内で日本語を使うにはフォントの準備が必要になることがあるため、今回は英語にしています。

9.少し変えて、結果を見てみよう

タイトルだけ変える

今使ったグラフのセルの中で、次の行を探します。

plt.title("Temperature over time")

これを次のように書き換え、そのグラフのセル全体をもう一度実行します。

plt.title("My first graph")

グラフの形はそのままで、上のタイトルだけが「My first graph」に変わればOKです。

最後の温度を変える

新しいセルに次の1行を入れて実行します。

df.loc[5, "temperature_c"] = 25

この1行を実行すると、5分のときの温度を38℃から25℃に変更できます。変更されるのはPythonで読み込んだデータだけで、元のCSVファイルは変わりません。

次のセルでdfを実行すると、最後の温度が25になったことを確認できます。それからグラフのセルをもう一度実行してください。今度は最後の点が下がれば成功です。

10.うまくいかないときは、ここを確認

見えたものまず試すこと
FileNotFoundErrorColab左側のファイル一覧にtemperature.csvがあるか確認します。ファイル名に「(1)」などがついていたら、読み込むコードの名前も合わせます。
NameError準備や読み込みのセルを飛ばしていないか、上から順に実行し直します。
SyntaxError引用符やカッコが消えていないか確認し、該当するコードを記事からもう一度コピーします。
グラフが空白/変わらないグラフを作る8行を、同じセルにまとめて実行します。データを変えた後も、そのセルを再実行します。
昨日は動いたのに今日は動かないColabの作業場所が初期状態に戻っている可能性があります。CSVを再アップロードし、コードを上から実行します。

手元の別のCSVを試して読み込めない場合は、文字コードやファイルの形が違うこともあります。ここでは設定を増やさず、まずこの記事のサンプルでグラフが作れるところまで試してみてください。

CSVの読み込みでUnicodeDecodeErrorが出る場合は、文字コードが原因のエラーと直し方を参考にしてください。

できたことと、次の一歩

今回は、CSVをPythonへ読み込み、データを確認して、時間と温度のグラフを作りました。さらに、コードやデータを少し変えると、グラフも変わることを確認しました。

今回と同じ形のCSVなら、ファイルを入れ替えて同じ手順でグラフを作れます。ここから先は、グラフを画像として保存したり、見た目を整えたり、複数のCSVをまとめて処理したりと、できることを少しずつ増やしていけます。

参考・動作確認環境: Google Colab公式FAQ/pandasのCSV読み込み/Matplotlibのグラフ描画。掲載データとグラフは説明用です。Google Colabでの動作確認(2026年9月8日):Python 3.13.15、pandas 2.2.3、Matplotlib 3.10.0。Colabの画面やライブラリの版によって、見た目が多少異なる場合があります。

コメント

タイトルとURLをコピーしました