Think Stats 第2版 第1章 1.3 データのインポート。
ThinkStats2/code/nsfg.pyを実行してください。
これを実行するのにすごい時間がかかった・・・
まだ1章だぞ!?4ページ目だ!知識がなさすぎて嫌になってくる・・・
結論から言うと、IPythonのシェルを起動した状態で、%runマジックメソッドで実行する。
他に方法あったら教えて下さいー
- pyenvでAnacondaをインストール
- nsfg.pyを実行したらエラー
- IPythonを使って実行
1. pyenvでAnacondaをインストール
ThinkStatsではPythonの解析ツールが色々入ってるAnacondaを進めている。
素直に従おう。
ローカルのMac環境にanacondaをインストール。
pyenvのインストール方法はこちらを参照。
pyenv install anaconda3-2.3.0
anacondaを有効にする(自分の環境ではpyenv localもしないと有効にならないんだけど?)
pyenv global anaconda3-2.3.0
pyenv local anaconda3-2.3.0
anacondaが有効になったか確認。
pyenv version ## 以下が表示されるはず anaconda3-2.3.0 (set by /Users/runble1/.pyenv/version)
2. nsfg.pyを実行したらエラー
実行ファイルなどはgithubからダウンロードできる。
GitHub - AllenDowney/ThinkStats2: Text and supporting code for Think Stats, 2nd Edition
Text and supporting code for Think Stats, 2nd Edition - GitHub - AllenDowney/ThinkStats2: Text and supporting code for T...
今回はgit cloneで。
git clone https://github.com/AllenDowney/ThinkStats2.git
何も考えずに実行。
python ThinkStats2/code/nsfg.py
## いかが表示された Traceback (most recent call last): File "Downloads/ThinkStats2-master/code/nsfg.py", line 106, in <module> main(*sys.argv) File "Downloads/ThinkStats2-master/code/nsfg.py", line 82, in main df = ReadFemPreg() File "Downloads/ThinkStats2-master/code/nsfg.py", line 26, in ReadFemPreg dct = thinkstats2.ReadStataDct(dct_file) File "/Users/runble1/Downloads/ThinkStats2-master/code/thinkstats2.py", line 2610, in ReadStataDct for line in open(dct_file, **options): FileNotFoundError: [Errno 2] No such file or directory: '2002FemPreg.dct'
2002FemPreg.dctファイルがないって。
いやいや!ディレクトリ確認したらあるし!
ここで詰んでた。
3. iPythonを使って実行
iPythonを起動。
ipython
ipythonのシェルが起動している状態でnsfg.pyを実行。
%runはマジックコマンドと呼ばれ、pythonファイルを実行する。
%run nsfg.py ## いかが表示された /Users/runble1/work/ThinkStats2/code/nsfg.py:42: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame See the the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy df.birthwgt_lb[df.birthwgt_lb > 20] = np.nan (13593, 244) nsfg.py: All tests passed.
Warningとか出ているけど、All tests passedなんで成功か。
コメント