Juliaによるプラン別電気料金の計算と比較

Juliaの練習がてら,電気料金を計算するプログラムを作成しましたので紹介します.
また,プランを変更した場合の電気料金も計算し,プラン比較しています.

練習と思ってかなり回りくどいことをしているのでコード量が多めです.
具体的に言うと,以下辺りをしてます.
Excelでデータ読み込みをする
・DataFrameで料金プランを抽出・加工する
・電気料金プランを汎用的な構造体として定義し,料金計算関数を多重ディスパッチで分岐する
・計算した料金をグラフで可視化する
ある程度やりたいことはできたので満足です.


知見として,以下がありました.
Excelファイルに日本語が使われている場合,Juliaの既存パッケージでは読み込みがうまく行かない可能性がある
・PyCallでpandasで処理しても,JuliaのDataFrameにするために一度ファイルなどを経由しないといけない.ParquetかArrowなどの形式がある模様.
・グラフ描画はPlots.jl, StatsPlots.jlなどがあり,バックエンドを選択できる.今の所pyplotが無難.
・日本語表示するにはfontfamily変数の設定が必要

ライブラリ整備が進んでいる途中のものもあり,なかなか対処が大変なところもありますが,使ってて楽しいですね,Julia.