python
掲題の件、そういいうことです。 例えば適当に get() メソッドの引数を追加して実装しても from abc import ABCMeta, abstractmethod class Hoge(metaclass=ABCMeta): @abstractmethod def get(self): pass class Moge(Hoge): def get(self, x = None, y = N…
掲題の件、そういうことです。 __str__() だけ定義しておくと class Hoge(): def __init__(self, x): self._x = x def __str__(self): return "Hoge({})".format(self._x) ちゃんと出てくれない。 > x = {Hoge(1), Hoge(2)} > print(x) {<__main__.Hoge object at 0x109fb7880>, <__main__.Hoge object at 0x109fb78e0>} 一方、 __repr__</__main__.hoge></__main__.hoge>…
filterにNone食わせれば良いみたい >>> x = ['', None, 'Hoge', 'Hage'] >>> list(filter(None, x)) ['Hoge', 'Hage']
ここで requests/utils.py at c501ec986daa4961cd9dee370b5d45ff2e524b37 · requests/requests · GitHub 設定されてて、こいつは調べると requests/certs.py at c501ec986daa4961cd9dee370b5d45ff2e524b37 · requests/requests · GitHub にあるように certif…
こんなん python -c 'import yaml,sys;print(yaml.dump(yaml.load(sys.stdin)))' < hoge.yml
クロスバリデーション付きでどう書くのが楽かなと考えた。 私なりの答えはこんなん。ライブラリのimport設定は以下で使うものもまとめて書いちゃってる。 import numpy as np import matplotlib.pyplot as plt from scipy import integrate from sklearn.mod…
ちゃんと一致するのかなって不安になったので適当なデータでチェック。 元になるデータはこの記事のものをそのまま流用している&何なのかは知らん。 Python編 その1 Pythonのコード import pandas as pd import sklearn.linear_model df = pd.read_csv("ht…
よくわからんので、とりあえずメモ以下 import pandas as pd def hoge(x): x.iloc[1] = 100 df = pd.DataFrame({'A': range(3)}) hoge(df) df を実行すると A 0 0 1 100 2 2となるので、hoge関数にはdfのポインタ(参照)が渡されているのがわかる、これはい…
Indexの指定がめんどくせぇわ… In [1]: import pandas as pd In [2]: df = pd.DataFrame([ ...: [0.00, 0.03, 0.000], ...: [0.01, 0.04, 0.005], ...: [0.02, 0.05, 0.010] ...: ], ...: index=pd.Index([0, 1, 2], name='hoge'), ...: columns=pd.Index(['…
まじですぐ忘れる。 >>> import numpy as np >>> x = np.array([1,2,3]) >>> y = x >>> y[1] = 999 >>> print(x) [ 1 999 3]
関数名を評価すると中身が飛び出してくるRに慣れすぎててPythonでどうすんのかわかんなかったのでメモ。 inspectというパッケージのgetsourceメソッドを使えばいいらしい。 >>> import inspect >>> def hoge(x): ... print("Do some awesome things.") ... r…
- http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.NMF.htmlを見たりググった日本語での検索結果でも何がどうなってるのかよくわからんので、ちゃんと試したメモ。非負値行列因子分解自体は要するに、ある行列MをM≒WHと近似した時…
色々とStack overflow漁って調べた結果、とりあえずこれで動いた。 import sys import logging logger = logging.getLogger() handler = logging.StreamHandler(sys.stdout) handler.setLevel(logging.INFO) logger.addHandler(handler) logger.setLevel(log…
Jupyterの最期の評価値(pd.DataFrame)と同じように表を出力させたい時。 適当なpd.DataFrameをdfとして from IPython.display import display, HTML display(HTML(df.to_html())) こう。(追記) ・・・と思ったら display(df) で良いみたい。
http://d.hatena.ne.jp/teramonagi/20150620/1434774864 と同じ話をPythonでやりたかった。 md5ライブラリを使えばよい&Rと答えを合わせるためには`serialize=FALSE`せんといかん点に注意。 seriarize引数の説明は A logical variable indicating whether t…
遅延評価好きだけど2系と違うのでハマった。 x = [(1,2), (3,4), (8,9)] print(zip(*x)) print(list(zip(*x))) 出力 <zip object at 0xb73409ac> [(1, 3, 8), (2, 4, 9)]</zip>
3系でやってる。 import pickle x = (1,2,3) y = [777] pickle.dump((x,y), open('hoge', 'wb')) X, Y = pickle.load(open('hoge', 'rb')) X, Y ((1, 2, 3), [777])
とりあえずハマった例だけメモっておく。 (for|リスト内包表記)内だけの変数…とはならない i = 0 for j in range(10): a = [x + i for i, x in enumerate([1,2,3,4,5])] print i これ、0になると思って実行したら 4となって、あばばばばばとなった。 〜追記〜…
matplotlibのboxplotを使う際のY軸の制御はylim関数でOKだった。 以下の例では、Y軸の範囲を[-1, 2]として、適当な数値(0〜1の乱数10個)をboxplotで表示させてる。 # -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt #適当なデ…
サポートベクトル回帰(Support Vector Regression, SVR)の理論が大体脳内整理出来たので、実践もしたいぞと、そしてちょいとpythonを使う別件があるので、慣れの意味も込めてR言語ではなくpythonとその機械学習ライブラリであるscikit-learnを使ってやるぞと…
物忘れがひどいので、少なくとも自分がよく使う奴だけでも。 主にnumpyに絡む操作なので import numpy as np は既に実行した上での記述で書く。 slice関数:配列を扱うためのインデックスを抽象的に表現 例えば以下のように書くと1から無限(None指定)まで2お…
掲題の件、そういう事です。 # -*- coding: utf-8 -*- def show_message(f): def wrapper(): print("==== function call ====") f() return wrapper def spam1(): return 1 @show_message def spam2(): return 2 if __name__ == "__main__": print(spam1()) …
主に私が良く使うC++と違う点についてハマった点とか、新しく学んだ事をつらつらとメモって置く。 結局、プロパティ(property)はディスクリプタ型の一部つーことらしい。 __new__は__init__(コンストラクタ)より先に呼ばれる 親クラスのコンストラクタは…
マルコフ連鎖モンテカルロ法(メトロポリス法)による混合ガウス分布に従う乱数の生成 - My Life as a Mock Quant でやった内容の欠点とそれを補うためにもうちょっと高尚な手法である拡張アンサンブル法の1つ「レプリカ交換モンテカルロ法」を用いてやりま…
平均(1,1),(-1,-1)となるような2つのガウシアンを3:7の割合で混ぜ合わせた2次元混合ガウス分布に従う乱数をマルコフ連鎖モンテカルロ法の1つであるメトロポリス法で生成するコードを書いた。 実行すると↓のように混合比率から若干(-1,-1)のガウシアンの方…
問題設定 R言語の書籍「Rによるモンテカルロ法入門」 のEMアルゴリズムに関連した「練習問題5.14」をpthonの練習がてらEMアルゴリズム構築までの数式もメモりながら解いてみたというお話。問題設定としては という混合分布(分布から確率、分布から確率でサン…
問題設定 ここではある時点における、適当な確率変数の条件付期待値を計算する事を考えたい。例えば適当な確率空間を設定し、以下のような条件付き期待値の計算を行うとする*1。 ・・・(A) ここでは確率測度の下で以下の確率微分方程式に従うものとしている…
numpyを使って結構美しく書けたのでメモ。結果はmatplotlibを使って描画。 ↓幾何ブラウン運動に従うモンテカルロの生成コード # -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt #株価の確率微分方程式に従うサンプルパスを生成 …
Longstaff and Schwartzが開発した最小二乗モンテカルロ法( Least Squares Monte Carlo)でアメリカンオプションのプライスを出してみたというお話。 numpy使えば楽に書けるかなと思ったけど意外とめんどかった。 答えはWolfram Alphaのとチェック。だいたい…
またまた友人からモンテカルロ法系の論文を教えてもらったので読んで実装。 その論文は 'Determining the density of states for classical statistical models: A random walk algorithm to produce a flat histogram, Phys. Rev. E 64, 056101 (2001)' こ…