またまた解説サンプル見つけた。 電気予測をTenforflow 第14回 人工知能
本当は、先週末の競馬に使って、予想をブログで書こう思ったけど間に合わなかった。
今回見つけたサンプルは、これ。
TensorFlowで電力使用量予測 with Keras - Qiita
これは、実際に少しずつ打ってみて、動作をさせながら
確認していった。
メモ代わりに書く。
最初のライブラリのところにある
これは、上の行のpandasだけインポートして下は無視した。
これは、macOSとか、ディスプレイで表を表示するときに使うらしい。
なので、不要と思い、削除。
代わりに
とすれば、グラフを画像で保存できる。
オリジナルとは違うけど
一旦、トップのコード
としておく。
次の段
1行目の
これは、CSVを取り込みしている。
最初の行が取り込み。
中に書いている引数は、文字コードと何行目から読込開始か。
encodingが文字コード、skiprowsが行飛ばし。
(ここからは、中身がどう変化しているか?を分かるように書いていく。
でも、ファイルが2018年版になってます。)
df_kwの中身はこう↓
注意! サンプルで最初の行は、飛ばすになっているけど、決してカラム名をスキップしているわけではない。
実際にダウンロードしてファイルの1行目を確認すると分かるけど、1行目がタイトルになってるので、スキップしている。
カラム名は必要です。
次のところの
電気量の単位を1つ下げて計算するようしている。切り捨てとか切り上げとかあるときに、必要なところまで
捨てられないようの対処と思ったほうがいい。
中にある"MW"とか"実績(万kW)"。これは、カラム名。
CSVの最初のカラム名で操作している。
この時点で、df_kwの中身は
次の行
これはね、Pythonに日時時間だよって教えてる。
さっきの段階では、"2018/4/1"という文字です。日付じゃありません。文字です。
これを日付として認識してもらわないといけません。
あと追加して時間も足してますので、日時にします。
この段階で、df_kwの中身はこう↓
plotへデータを保存。無くてもよい。
ここでデータを見ようと思うなら、これを途中に入れる。
一旦ここまで
また次回
今回見つけたサンプルは、これ。
TensorFlowで電力使用量予測 with Keras - Qiita
これは、実際に少しずつ打ってみて、動作をさせながら
確認していった。
メモ代わりに書く。
最初のライブラリのところにある
import pandas as pd
%matplotlib inline
%matplotlib inline
これは、上の行のpandasだけインポートして下は無視した。
これは、macOSとか、ディスプレイで表を表示するときに使うらしい。
なので、不要と思い、削除。
代わりに
import matplotlib
matplotlib.use('Agg') # -----(1)
import matplotlib.pyplot as plt
matplotlib.use('Agg') # -----(1)
import matplotlib.pyplot as plt
とすれば、グラフを画像で保存できる。
オリジナルとは違うけど
一旦、トップのコード
import pandas as pd
import matplotlib
matplotlib.use('Agg') # -----(1)
import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('Agg') # -----(1)
import matplotlib.pyplot as plt
としておく。
次の段
df_kw = pd.read_csv("juyo-2016.csv",encoding="Shift_JIS",skiprows=1)
df_kw["MW"] = df_kw["実績(万kW)"] * 10
df_kw["DATETIME"] = df_kw.index.map(lambda _: pd.to_datetime(df_kw.DATE[_] + " " + df_kw.TIME[_]))
# 可視化
df_kw["MW"].plot(figsize=(15,4))
df_kw["MW"] = df_kw["実績(万kW)"] * 10
df_kw["DATETIME"] = df_kw.index.map(lambda _: pd.to_datetime(df_kw.DATE[_] + " " + df_kw.TIME[_]))
# 可視化
df_kw["MW"].plot(figsize=(15,4))
1行目の
df_kw = pd.read_csv("juyo-2016.csv",encoding="Shift_JIS",skiprows=1)
これは、CSVを取り込みしている。
最初の行が取り込み。
中に書いている引数は、文字コードと何行目から読込開始か。
encodingが文字コード、skiprowsが行飛ばし。
(ここからは、中身がどう変化しているか?を分かるように書いていく。
でも、ファイルが2018年版になってます。)
df_kwの中身はこう↓
DATE | TIME | 実績(万kW) | |
0 | 2018/4/1 | 0:00 | 539 |
1 | 2018/4/1 | 1:00 | 557 |
2 | 2018/4/1 | 2:00 | 594 |
3 | 2018/4/1 | 3:00 | 631 |
4 | 2018/4/1 | 4:00 | 624 |
5 | 2018/4/1 | 5:00 | 591 |
6 | 2018/4/1 | 6:00 | 566 |
7 | 2018/4/1 | 7:00 | 568 |
注意! サンプルで最初の行は、飛ばすになっているけど、決してカラム名をスキップしているわけではない。
実際にダウンロードしてファイルの1行目を確認すると分かるけど、1行目がタイトルになってるので、スキップしている。
カラム名は必要です。
次のところの
df_kw["MW"] = df_kw["実績(万kW)"] * 10
電気量の単位を1つ下げて計算するようしている。切り捨てとか切り上げとかあるときに、必要なところまで
捨てられないようの対処と思ったほうがいい。
中にある"MW"とか"実績(万kW)"。これは、カラム名。
CSVの最初のカラム名で操作している。
この時点で、df_kwの中身は
次の行
df_kw["DATETIME"] = df_kw.index.map(lambda _: pd.to_datetime(df_kw.DATE[_] + " " + df_kw.TIME[_]))
これはね、Pythonに日時時間だよって教えてる。
さっきの段階では、"2018/4/1"という文字です。日付じゃありません。文字です。
これを日付として認識してもらわないといけません。
あと追加して時間も足してますので、日時にします。
この段階で、df_kwの中身はこう↓
df_kw["MW"].plot(figsize=(15,4))
plotへデータを保存。無くてもよい。
ここでデータを見ようと思うなら、これを途中に入れる。
plt.figure()
df_kw["MW"].plot(figsize=(15,4))
plt.savefig('data/dst/pandas_iris_line.png')
plt.close('all')
df_kw["MW"].plot(figsize=(15,4))
plt.savefig('data/dst/pandas_iris_line.png')
plt.close('all')
一旦ここまで
また次回
コメント
0 件のコメント :
コメントを投稿