いろいろ合理化

日々なんとなく改善していったことをメモ。どこかの誰かの役に立てばこれ幸い。いろいろ手を出したがる経理屋。

Linux環境構築&Prophetが動くまで

うちのWindows7のPCにPython入れて
Prophetを動かそうとしたところ、
C++コンパイラがどうとかでうまく
動かなかったので、いっそのこと
使っていなかった古いノートPCに
Linuxをインストールして新たに
Pythonの環境を構築してみました。

OSをLinuxに入れ替えてみたところ、
OS自体が軽いのでPCの動作が早くなった
という嬉しい誤算付き。
Windowsの時は遅くて使い物にならなかった
けど、これなら普段使えるレベルまで復活
した感じ。

とりあえずいろいろ試行錯誤してみたので
ざっくりな手順だけメモ。

1.使っていないUSBメモリでLinuxOSのインストール
メディアを作成(ISOイメージを書き込んで作る)

2.再起動し、BIOSレベルでUSBメディアから起動する

3.Linuxインストール(余計なゲームとかいらない
場合は最小構成がおすすめ)

4.Anacondaインストール

5.再起動

6.pipアップグレード

7.msgpackインストール

8.Pandasを0.21.0にダウングレード

9.pandas_datareaderインストール

10.pystanインストール

11.fbprophetインストール

※8.9.は必須じゃないけど、株価分析するなら
おすすめ。

pandas_datareaderで株価取得(ただし外国株式)

pandas_datareaderでなんとか株価を取得するところまで

行ったのでメモ。

ちなみに環境はJupyter。

pandas_datareaderインストール済み、pandasを0.21.0に

ダウングレード済み。
2018.08.10現在では昔の本や動画のコードがそのままでは

動かなかったりしたので苦戦しました。

 

1銘柄だけ取るなら

import pandas_datareader.data as web
import datetime

start = datetime.datetime(2017, 1, 1)
end = datetime.datetime(2017, 12, 31)

globals()['AAPL'] = web.DataReader('AAPL', 'quandl', start, end).sort_index()

AAPL.head()

 

まとめて複数銘柄取るなら

import pandas_datareader.data as web
import datetime

stock_list = ['AAPL', 'GOOG', 'MSFT', 'AMZN']
start = datetime.datetime(2017, 1, 1)
end = datetime.datetime(2017, 12, 31)

for stock in stock_list:
 globals()[stock] = web.DataReader(stock, 'quandl', start, end).sort_inex()

AAPL.head()

 

平均線をつけてプロットする

import matplotlib.pyplot as plt

ma_day = [10, 20, 50]
for ma in ma_day:
 column_name = 'MA {}'.format(ma)
 AAPL[column_name] = AAPL['AdjClose'].rolling(window=ma, min_periods=ma).mean()

AAPL[ ['AdjClose', 'MA 10', 'MA 20', 'MA 50'] ].plot(subplots=False, figsize=(10,4))

 

ここまで辿り着くのにこれだけ時間かかってたら

まともに分析できるのはかなり先そう。

pandas_datareaderが使えなかった

株価のデータを分析しようとpandas_datareaderをインストールしたら、ネットの情報通りインストールしてもうまく機能しませんでした。

 

小一時間いろいろ試してやっと解決したのでメモ。

 

■エラー内容

「is_list_like」ってのがインポートできないよって出る

 

■原因

pandas_datareaderではなく、pandasの方がバージョンアップでコード変わってdatareaderがうまく機能しなかった(らしい)

 

■解決策

pandas0.23.0をアンインストール

コマンドプロンプトpython -m pip uninstall pandas)

pandas0.21.0をインストール

python -m pip install pandas==0.21.0)

 

ようやく株価分析できそう。

PythonでBeautifulsoupがインストールできなかった際の解決策

pygameに続いてBeautifulsoupもインストール。

手順としてはこれもコマンドプロンプト

 

pip install beautifulsoup4

 

と入れればいいといろんなサイトに書いてあるんですが、自分のパソコンでは上手くいかず。今回は

 

python -m pip install beautifulsoup4

 

と入力しても上手くいきませんでした。

エラーメッセージを見てみたところ『「ipykernel」がインストールされてないよ』みたいなことが書いてあったのでまた方々検索。

結果としては

 

python -m pip install ipykernel

 

でipykernelってやつをインストールしてから

 

python -m pip install beautifulsoup4

 

でBeautifulsoupインストールしたらできました。

Pythonでpygameがインストールできなかった際の解決策

12月くらいからPythonを始めました。

 

そんな中で勉強のためにpygameをインストールしようと思ったところ上手くインストールできず、手間取ったので自分の場合の解決策をメモ。

 

pygameのインストールは、自分が参考にしていた本ではコマンドプロンプト

 

pip install pygame

 

と入れればインストールできるはずだったんですが、自分のパソコンではまったく上手くいかず。

(PC環境はwindows7, python3.6.3)

 

方々調べまわった挙句、

 

python -m pip install pygame

 

と入力したら無事にインストール完了。

情報ソースとしては英語のPython公式サイトみたいなとこに行ったらやっと載ってた感じ。日本語の情報では同じトラブルの情報って無かったんですよね。

原因としては、Pythonには環境変数のパス通してあったけど、pipには通ってなかったのが原因だとかなんとか。IT関係は詳しくないので正直メカニズムはよくわかっていません。