僕がデータ分析者として覚醒するまで

しがない会社員がデータ分析者として覚醒するまでのブログ

建築設備のエネルギーデータをpandasで処理するときの注意

Pandasで処理するときの注意

建築設備のエネルギーデータ

一般に、建築設備におけるエネルギーデータは、カラム名が日本語でついます。 f:id:snuow:20180124115522j:plain

pandasで読み込む際も、下記のようにencoding = 'Shift-JIS'と指定してあげないとエラーを吐きます。

# header:0行目,index_col:0行目,パースする日時:0行目
df= pd.read_csv(r'Data\\' + file + '.csv',encoding="Shift-JIS",header=0,index_col=0,parse_dates=[0])

もちろん、時系列データとしてタイムスタンプもついていますので、それぞれ指定してあげないといけません。

詳しい処理は、省きますが、元のヘッダ情報を使用して、四則演算論理演算を行ったうえで、ファイルを作成するという処理を行いました。

問題

何も考えずに、下記のコードで出したら、エラーも吐かずに出力できました。が、よくよく中身を見ると文字化けパレードだったので、別システムで読み込みができずにエラーログを大量に出していました。

df.to_csv(r'add_items_Result\\' + file + '.csv')

解決策

結果として、下記のように読込の時と同じように出力時もencoding = 'Shift-JIS'を指定してあげないとダメみたいです。

df.to_csv(r'add_items_Result\\' + file + '.csv',encoding='Shift-JIS')

まとめ

文字コードって難しい。