2017/07/04
Pythonを使いはじめて約半年。今更ながらに IPython というインタラクティブシェルの 活用をはじめました (^^;;
「結構おんなじ事を書くんだよなぁ。 jupyter notebook ならセルを再度選択して実行するだけなのに、 コマンドラインの python は面倒くさいんだよなぁ」
なんて思っていたけど、IPython をよくよく調べてみると、 履歴も簡単に辿れるし出力結果の再確認も楽だと感じました。
更に macro の便利さに脱帽。
- つらつらと入力したコマンドに対して、macro を設定する
In [1]: from math import * In [2]: log(1.0) Out[2]: 0.0 In [3]: %macro test 1-2 Macro `test` created. To execute, type its name (without quotes). === Macro contents: === from math import * log(1.0)
- マクロを保存する
In [4]: %store test Stored 'test' (Macro)
- 登録されている内容を確認してみる
In [5]: %macro Out[5]: [u'test'] In [6]: print test from math import * log(1.0)
- 一度、IPython を終了してから再度起動し、保存したマクロを読み込んで見る
In [1]: %macro Out[1]: [] In [2]: %store -r test In [3]: %macro Out[3]: [u'test'] In [4]: print test from math import * log(1.0)
便利すぎる\(^o^)/
参考にさせて頂いたサイト:
2017/07/11
_ [Python]簡単ではあるけど HTML Table から配列化できた
数日前の日記:ここ数日進展がない で悪戦苦闘していた HTML Table からの抜き出しがようやく出来上がった。
例によってエッセンスだけ (^^;;
html = urlopen(urls).read()
soup = BeautifulSoup(html, "lxml")
bbody = soup.find_all(class_="blogbody")
# --------------------------------------------------
# Table を展開する
import numpy as np
import pandas as pd
raw_html="<html><body>"+str(bbody)+"</body></html>"
dta = pd.read_html(raw_html, header=0)[0]
t = pd.read_html(raw_html, header=0)[1]
a = t.as_matrix()
for xa in range(len(a)):
for ya in range(len(a[xa])):
if isinstance(a[xa][ya], unicode) and \
(a[xa][ya] in u"◎○△" or a[xa][ya] in u"SSAA"):
break
else:
continue
print(", ".join([str(s).decode('utf-8') for s in a[xa][0:4]]))
結果:実力不足のため 3行目変だけど (^^; なんとか、注目の指標の時間が取得できた。
10:30, nan, 豪)NAB企業景況感指数, △
18:00, nan, 英)ホールデンMPC委員の発言, △
nan, 英)ブロードベントBOE副総裁の発言, △, 要人発言
21:15, nan, 加)住宅着工件数, △
25:30, nan, 米)ブレイナードFRB理事の発言, A
26:00, nan, 米)3年債入札 →過去発表時[ユーロドル][ドル円], A
参考にさせて頂いたサイト:
2017/07/13
_ [Python]euc 環境な IPython で日本語入力
FreeBSD-10.3R 上の IPython2 で日本語入力できない (>_<) で困ってたけど、eucロケール環境でも %cpaste + unicode 指定でなんとか出来た \(^o^)/
- ダメな例: print 'あいう' と打っているつもりだが、日本語文字コードが通らない
In [1]: print '' In [2]:
- OKな例:
In [2]: %cpaste Pasting code; enter '--' alone on the line to stop or use Ctrl-D. :print u"あいう" :a=u"かきく" :-- あいう In [3]: print a かきく
\(^o^)/
2017/07/19
_ [FX]日々の勉強ノートに IPython notebook は?!
羊飼いさんのブログから値動きに繋がりそうな情報を抜き出し、 値動きしそうな時刻の前後のチャートを見ることで、 なんとなくファンダメンタルな知識を獲得したいと考えている。
ブログから切り出した情報と、チャートを張り付けて、さらには多少の計算も 出来たらいいかなと思ったので、台紙としてエクセルを考えてきたけど、 やっぱり一旦張り付けた png等画像が含まれるエクセルをオープンして さらに新しい画像を追加することができない (+_+)
そうこう考えるうちに、IPython notebook 使って、 画像は IPython.display で張り付けて、日記形式で Markdown で文章を書いて いけばいいんじゃね?と考えてみた。
試してみるか
2017/07/27
前回のとある勉強会の場 で触発されて OpenCVを使った画像解析の習い事をしてみたけど、 今日、その勉強会の続きに参加し、そこでまた OpenCV の凄さを実感 (^-^)/
色々とやってみたい妄想が広がっていくぅぅぅ
あれもやりたい、これもやりたい、もっともっとやりたいw
2017/07/28
_ [Python]IPython notebook でクラスファイルを reload できるようになった
先日まで、IPython notebook でクラスファイルを reload できない 状態が続いていたけど、sys.modules の内容を確認してみて自分の認識が間違っていたことに気づいた。
- sys.modules は辞書型配列の変数だ
そのため、先日やったように
import sys del sys.modules(myClass[.py])
ではなく、
import sys del sys.modules['myClass[.py]']
と書くべきだった。
これでクラスを修正して再読み込みできるように\(^o^)/
2017/07/29
_ 先日訪問したとある勉強会の場で、仮想通貨マイニングの話題があった。 こういう分野には全く興味がなかったんだけど、少し興味が湧いたのでその場で色々と伺った。
仮想通貨マイニングとは「採掘=仮想通貨の価値を皆で検証すること」らしい。 かなり多くの計算パワーが必要で世界中で検証されているんだとか。 特に中国でその採掘が大量に行われているようで (^^;;
でも、高性能GPU を並列にいくつも稼働させるためには、それなりの消費電力(=電気代) も掛かるようで、投資回収には 1年くらいかかるらしい (@_@;;
2017/07/31
_ [Python]遅ればせながら FreeBSD上の notebook に nbextensions をインストール
最近よく使うようになった FreeBSD-10.3R 上の jupyter(IPython) notebook に nbextension をようやくインストール (^-^)/
Windows7 の Anaconda 環境だと、conda を使ってサクっとインストール出来たのに、 FreeBSD環境でかなり前にも一度トライアルしたけど失敗してしまい、解決力の無さからそのまま放置w
改めて色々とググってみて失敗の原因を追求してみたところ、単純にインストールの知識不足で、これだから俄は困る (^^;;
サーバー環境:
- FreeBSD-10.3R
- Python 2.7.13
で、インストール手順は、
- 本家サイトの pip インストールを参考にインストール実行
pip install jupyter_contrib_nbextensions pip install https://github.com/ipython-contrib/jupyter_contrib_nbextensions/tarball/master pip install jupyter_nbextensions_configurator
- jupyter notebook を起動するユーザ環境で nbextension をインストール
jupyter nbextensions_configurator enable --user jupyter contrib nbextension install --user
これでリモート環境からも nbextention なツール類が使える \(^o^)/
でも、python2 なせいか、使えない extension が多い (@_@)
参考にさせて頂いたサイト: