技術メモ

1. ~.py起動時とJupyter(python対話モード)起動時の相違 

カレントディレクトリ参照の表記方法 

通常起動(dirに'C:\~'の文字列?で保存される')

os.path.dirname(__file__)

対話モードではこれが使えないらしい

from pathlib import Pathを付けて 
os.path.dirname(os.path.abspath(sys.argv[0]))

相対パスならrelpathになる

想定ユーザが複数人の場合は↑の書き方 

1人のシミュレーションとかなら直接ディレクトリ書いた方が早い?

JupiterだとJupiterが入ってるディレクトリ参照されるっぽい 

→実行の度にカレントディレクトリが移動していたので対話モードでは直接示した方が良さそう

2. 関数定義のdef内でデータフレームを表示しようとしても呼び出しの際に出てこない 

対処法2つ 

関数にしないで普通の処理で書き連ねる 

関数内ににデータフレームを表示させる関数を作る(まだ調べていない) 


3. データフレームの要素参照ilocの表記 

df.iloc[][]とすると挙動がおかしくなる 

iloc[1][1]で[1][2]の要素が参照されたり、for文でKeyError:0([0][0]などがない)が出たりする(Jupyterではfor文は正常?)
→iloc[行,列]にしていれば問題なし

df.iloc[0,1:N]は0行目の1からN-1列の要素まで取ってくる 

list index out of range系のエラーが出るときにたいていこのミスしてる


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS