毎月の電気代を記録していても、「先月と比べてどれくらい増えたのか」「年間でいくら使っているのか」を確認するのは意外と大変です。
そこで便利なのがPythonです。
Pythonを使えば、毎月の電気代を自動で集計し、年間の合計や平均を計算できます。さらに、matplotlibを使うことで、電気代の変化をグラフでわかりやすく確認することも可能です。
この記事では、Python初心者の方でも実践できるように、電気代のデータを準備する方法から、合計・平均の計算、グラフ化、CSVファイルの読み込みまで詳しく解説します。
この記事でわかること
- Pythonで電気代のデータを管理する方法
- 年間の電気代と月平均を計算する方法
- matplotlibで電気代をグラフ化する方法
- CSVファイルからデータを読み込む方法
- 電気代のデータ分析をさらに便利にするアイデア
Pythonを使ったデータ分析の入門としてもおすすめなので、ぜひ一緒に試してみてください。
Pythonで電気代を集計・グラフ化するメリット
Pythonを使って電気代を管理すると、毎月の数字を並べるだけでは気づきにくい変化を確認しやすくなります。
例えば、夏や冬に電気代が高くなっているのか、年間でどのくらいのお金を使っているのかを簡単に調べられます。
主なメリットは次のとおりです。
- 毎月の電気代の変化を確認できる
- 年間の合計金額を自動で計算できる
- 1か月あたりの平均金額を確認できる
- グラフを使ってデータを見やすくできる
- Pythonのデータ処理を実践しながら学べる
Pythonの学習では、実際の生活に関係するデータを使うと、コードの役割を理解しやすくなります。
電気代は毎月発生する身近なデータなので、Pythonによる集計やグラフ作成を学ぶ題材としてもぴったりです。
この記事でできること
この記事では、次のような月ごとの電気代データを使います。
1月:8,500円
2月:9,200円
3月:7,800円
4月:6,500円
5月:6,200円
6月:7,100円
7月:9,800円
8月:11,200円
9月:8,900円
10月:6,800円
11月:7,200円
12月:9,400円
このデータをPythonで処理して、次のことを行います。
- 年間の電気代を計算する
- 月平均の電気代を計算する
- 月ごとの変化をグラフで表示する
- CSVファイルからデータを読み込む
最初はシンプルなリストを使い、最後にCSVファイルを使った方法へステップアップしていきましょう。
Pythonで電気代のデータを準備する
まずは、Pythonのリストを使って電気代のデータを管理します。
サンプルの電気代データを作成する
以下のコードを入力してみましょう。
electricity_costs = [
8500,
9200,
7800,
6500,
6200,
7100,
9800,
11200,
8900,
6800,
7200,
9400
]
print(electricity_costs)実行すると、次のように表示されます。
[8500, 9200, 7800, 6500, 6200, 7100, 9800, 11200, 8900, 6800, 7200, 9400]リストとは、複数のデータをまとめて管理できるPythonの機能です。
今回の場合は、1月から12月までの電気代を順番にリストへ保存しています。
月のデータも用意する
グラフを作成するときは、「どの数字が何月のものなのか」を表示する必要があります。
そこで、月のデータも別のリストで用意します。
months = [
"1月",
"2月",
"3月",
"4月",
"5月",
"6月",
"7月",
"8月",
"9月",
"10月",
"11月",
"12月"
]
electricity_costs = [
8500,
9200,
7800,
6500,
6200,
7100,
9800,
11200,
8900,
6800,
7200,
9400
]これで、「months」と「electricity_costs」という2つのリストを使ってデータを管理できるようになりました。
同じ順番でデータを保存しているため、最初の「1月」と「8,500円」、次の「2月」と「9,200円」がそれぞれ対応します。
Pythonで電気代の合計と平均を計算する
データを準備できたら、年間の合計金額と月平均を計算してみましょう。
年間の電気代を計算する
Pythonでは、sum()を使うことで、リストに入っている数字の合計を簡単に計算できます。
electricity_costs = [
8500,
9200,
7800,
6500,
6200,
7100,
9800,
11200,
8900,
6800,
7200,
9400
]
total_cost = sum(electricity_costs)
print("年間の電気代:", total_cost, "円")実行結果は次のようになります。
年間の電気代: 98600 円sum()は、リスト内の数字をすべて合計してくれる便利な関数です。
電気代だけでなく、家計簿の支出や旅行費用などを合計するときにも活用できます。
1か月あたりの平均電気代を計算する
次に、1か月あたりの平均電気代を計算します。
平均は、「合計金額 ÷ データの数」で求められます。
Pythonでは、len()を使うことで、リストに入っているデータの数を調べられます。
total_cost = sum(electricity_costs)
average_cost = total_cost / len(electricity_costs)
print("年間の電気代:", total_cost, "円")
print("月平均の電気代:", average_cost, "円")実行すると、次のように表示されます。
年間の電気代: 98600 円
月平均の電気代: 8216.666666666666 円小数点以下が長く表示されるため、見やすくするにはround()を使う方法がおすすめです。
average_cost = round(total_cost / len(electricity_costs))
print("月平均の電気代:", average_cost, "円")実行結果は次のようになります。
月平均の電気代: 8217 円round()を使うと、小数点以下を丸めて表示できます。
matplotlibをインストールする
次は、電気代をグラフ化してみましょう。
Pythonでグラフを作成するときには、matplotlibというライブラリがよく使われます。
pipを使ってmatplotlibをインストールする
ターミナルやコマンドプロンプトを開き、次のコマンドを実行します。
pip install matplotlib環境によっては、次のコマンドを使用する場合もあります。
python -m pip install matplotlibインストールが完了すれば、Pythonからmatplotlibを使ってグラフを作成できます。
インストールできたか確認する
Pythonで次のコードを実行してみましょう。
import matplotlib.pyplot as plt
print("matplotlibを読み込みました")エラーが表示されなければ、インストールは成功です。
Pythonで電気代をグラフ化する
それでは、月ごとの電気代を折れ線グラフで表示してみましょう。
以下のコードを入力します。
import matplotlib.pyplot as plt
months = [
"1月", "2月", "3月", "4月",
"5月", "6月", "7月", "8月",
"9月", "10月", "11月", "12月"
]
electricity_costs = [
8500, 9200, 7800, 6500,
6200, 7100, 9800, 11200,
8900, 6800, 7200, 9400
]
plt.plot(months, electricity_costs)
plt.show()このコードを実行すると、横軸に月、縦軸に電気代を表示した折れ線グラフが作成されます。
plt.plot()は、折れ線グラフを作成するための関数です。
最初の「months」が横軸、次の「electricity_costs」が縦軸のデータになります。
最後のplt.show()を実行すると、作成したグラフが画面に表示されます。
グラフにタイトルと軸の名前を追加する
グラフをさらに見やすくするために、タイトルや軸の名前を追加してみましょう。
import matplotlib.pyplot as plt
months = [
"1月", "2月", "3月", "4月",
"5月", "6月", "7月", "8月",
"9月", "10月", "11月", "12月"
]
electricity_costs = [
8500, 9200, 7800, 6500,
6200, 7100, 9800, 11200,
8900, 6800, 7200, 9400
]
plt.plot(months, electricity_costs, marker="o")
plt.title("Monthly Electricity Costs")
plt.xlabel("Month")
plt.ylabel("Cost (Yen)")
plt.show()ここでは、次の関数を使っています。
- plt.title():グラフのタイトルを設定する
- plt.xlabel():横軸の名前を設定する
- plt.ylabel():縦軸の名前を設定する
- marker=”o”:各月のデータに丸い印を表示する
これだけでも、月ごとの電気代の変化がかなりわかりやすくなります。
例えば、このサンプルデータでは8月の電気代が高くなっていることがグラフからすぐに確認できます。
数字だけを見るよりも、グラフを使ってデータを見える化するメリットを実感できるでしょう。
日本語をグラフに表示したい場合
matplotlibでは、実行する環境によって日本語が文字化けすることがあります。
その場合は、まず英語のタイトルや軸ラベルでグラフを作成する方法がおすすめです。
日本語を表示する場合は、使用しているパソコンやPythonの実行環境に対応した日本語フォントを設定する必要があります。
初心者のうちは、まずデータを正しくグラフ化できることを目標にして、慣れてから日本語表示にも挑戦するとスムーズです。
CSVファイルから電気代を読み込む方法
毎月のデータを増やしていく場合、Pythonのコードに毎回数字を書き足すのは少し大変です。
そこで便利なのがCSVファイルです。
CSVファイルを使えば、Excelなどで管理しているデータをPythonで読み込み、集計やグラフ化に利用できます。
CSVファイルを準備する
まず、「electricity.csv」という名前のCSVファイルを作成します。
内容は次のようにします。
month,cost
1月,8500
2月,9200
3月,7800
4月,6500
5月,6200
6月,7100
7月,9800
8月,11200
9月,8900
10月,6800
11月,7200
12月,94001行目は、データの項目名です。
- month:月
- cost:電気代
2行目以降に、実際のデータを入力します。
PythonでCSVファイルを読み込む
Pythonには、CSVファイルを扱うためのcsvモジュールがあります。
次のコードを実行してみましょう。
import csv
months = []
electricity_costs = []
with open("electricity.csv", encoding="utf-8") as file:
reader = csv.DictReader(file)
for row in reader:
months.append(row["month"])
electricity_costs.append(int(row["cost"]))
print(months)
print(electricity_costs)このコードでは、CSVファイルから月と電気代のデータを読み込み、それぞれリストに保存しています。
int()を使っているのは、CSVから読み込んだ電気代を計算できる数字に変換するためです。
CSVファイルを使うようになると、Pythonのプログラムを変更しなくても、CSVの内容を更新するだけで新しいデータを集計できます。
CSVのデータを集計してグラフ化する
ここまで学んだ内容を組み合わせると、CSVファイルの読み込みから集計、グラフ化までを一度に行えます。
import csv
import matplotlib.pyplot as plt
months = []
electricity_costs = []
with open("electricity.csv", encoding="utf-8") as file:
reader = csv.DictReader(file)
for row in reader:
months.append(row["month"])
electricity_costs.append(int(row["cost"]))
total_cost = sum(electricity_costs)
average_cost = round(total_cost / len(electricity_costs))
print("年間の電気代:", total_cost, "円")
print("月平均の電気代:", average_cost, "円")
plt.plot(months, electricity_costs, marker="o")
plt.title("Monthly Electricity Costs")
plt.xlabel("Month")
plt.ylabel("Cost (Yen)")
plt.show()このプログラムを実行すると、次の処理がまとめて行われます。
- CSVファイルから電気代を読み込む
- 年間の合計金額を計算する
- 月平均の金額を計算する
- 月ごとの電気代をグラフ化する
Pythonを使うと、このように複数の作業を一つのプログラムにまとめることができます。
電気代のデータ分析をさらに便利にするアイデア
基本的な集計とグラフ化ができるようになったら、さらに便利な機能を追加してみましょう。
前月の電気代と比較する
前の月と比較することで、電気代がどのくらい増えたのか、または減ったのかを確認できます。
例えば、8月と7月の電気代を比較する場合は、次のように計算できます。
difference = electricity_costs[7] - electricity_costs[6]
print("前月との差額:", difference, "円")リストは0番目から数えるため、7月は6番目、8月は7番目のデータになります。
毎月の差額を計算する機能を追加すれば、電気代が大きく変化した月を見つけやすくなります。
使用量のデータも一緒に記録する
電気代だけでなく、電気の使用量も記録すると、より詳しい分析ができます。
例えば、CSVファイルに次のような項目を追加できます。
month,cost,usage
1月,8500,320
2月,9200,350
3月,7800,290電気代と使用量を比較することで、「使用量が増えたから電気代が上がったのか」を確認しやすくなります。
データの項目を少しずつ増やしていくことで、Pythonを使った分析の幅も広がります。
年ごとの電気代を比較する
数年分のデータを保存すれば、今年と去年の電気代を比較することもできます。
例えば、同じ月の電気代を比較すると、季節による変化や生活スタイルの変化を確認しやすくなります。
最初は1年分のデータから始めて、慣れてきたら複数年のデータ分析に挑戦してみるのがおすすめです。
Pythonで電気代を管理するときのポイント
Pythonを使ったデータ管理を続ける場合は、次のポイントを意識すると便利です。
- 毎月同じ形式でデータを記録する
- 月や金額の入力方法を統一する
- CSVファイルを定期的に保存する
- グラフでデータの変化を確認する
最初から複雑なプログラムを作る必要はありません。
まずは「データを保存する」「合計する」「グラフにする」という基本的な流れを理解することが大切です。
少しずつ機能を追加していけば、自分に合った電気代管理ツールを作れるようになります。
まとめ
今回は、Pythonを使って電気代を集計し、グラフ化する方法を紹介しました。
記事のポイントを振り返ってみましょう。
- Pythonのリストで月ごとの電気代を管理できる
- sum()を使うと年間の電気代を簡単に計算できる
- len()を使うと月平均を計算できる
- matplotlibを使うと電気代の変化をグラフで確認できる
- CSVファイルを使うとデータの管理がさらに便利になる
Pythonは、難しいデータ分析だけに使われるものではありません。
毎月の電気代のような身近なデータを使うことで、プログラミングの基本やデータ処理の流れを実践的に学べます。
まずはこの記事のサンプルコードを実行して、自分の電気代データに置き換えてみてください。
実際のデータを使ってグラフを作成すると、Pythonでできることがより身近に感じられるはずです。
Pythonの基本を身につけたら、家計簿や旅行費用など、ほかの生活データの集計にも挑戦してみましょう。
