きょうも亀だけど

機械学習やデータサイエンスの勉強記録など

read_csvでファイル名が日本語のcsvを読み込む

pandas.read_csv

pandas.read_csv('../日本語ファイル.csv')

で読み込むと

OSError: Initializing from file failed

が発生してしまう。

読み込みエンジンのデフォルトであるCだと半角にしか対応していないとのことで、

エンジン指定をPythonに変更したら無事読み込めた。

f:id:OnsenTamagoYoshi:20181111132732j:plain

【参考】

ciuministries.net

フォルダが存在しない場合に作成する処理を、存在確認なしで実行

csv出力の際に、作成先フォルダおよび中間フォルダが存在するかの

チェックを入れてから出力するのがめんどくさい。

一気に出力する方法がないか調べたところ、

os.makedirs(フォルダパス, exist_ok=True)

でいけることが分かった。

note.nkmk.me

便利

Prophetをimportするまでにつまづいたことと対応

Anaconda環境でProphet使おうと思い、

install後にimportしようとしてつまづいた。

なんとかimport成功まで行ったので手順を記録する。

 

参考にさせてもらった以下スライドのP.15に沿って、

まずはpystanをpip installした。

 

Prophet入門【Python編】Facebookの時系列予測ツール

 

f:id:OnsenTamagoYoshi:20181109024457j:plain

次にProphetをinstallしたところ、

「ImportError: DLL load failed: 指定されたモジュールが見つかりません。」

が発生。

f:id:OnsenTamagoYoshi:20181109024637j:plain

pystanのimportでしくってる模様。

エラー起きてる「_api」ファイルを探しに行ったら、拡張子が「pyx」となっており、

Cythonモジュールと判明。

C++コンパイラがないためエラーが起きてると当たりをつけてみる。

pystanの以下ドキュメントにもそれっぽい記載があった。

https://pystan.readthedocs.io/en/latest/windows.html#installing-c-compiler

 

さて、どうすっかといろいろ考え、以下のページを参考にした。

pipではなくcondaでのインストール順が書いてあったので、

jupyterではなくコマンドプロンプト上でやってみた。

yadotech.hateblo.jp

自分の環境だと

conda install fbprophet -c conda-forge

で無事インストールが完了した。

 

importまでうまく行ったので、次はProphetで時系列分析をしてみる予定。

pandasで縦持ちデータを横持ちデータにする

時系列データで種類を表す列に複数パターンが存在するとき、

グラフ表示のために横持ちにしたくなった。

以下のページが参考になったのでやってみる。

blog.amedama.jp

 

f:id:OnsenTamagoYoshi:20181106030359j:plain

pivot_tableを使えばいける。

便利。

Jupyter Notebookを貼り付ける方法が見つかったから今度はその方法も試してみる。