python

小数に強いはずの bootstrap test を試す

真値 0 を持ち,分散 1 で観測される x という変数を 5 回観測したとする.その5回の観測量から,元の分布関数の特長を調べたいので bootstrap する. import numpy import pylab n = 5 trial = 1000 a=numpy.random.normal(0,1,n) b=numpy.array([a[map(lam…

lambda 演算と関数

lambda で演算する方 import numpy import time f = lambda x: x**2 def test0(n): """空""" t1=time.time() t2=time.time() print t2-t1 def test1(n): """内包表現""" t1=time.time() a=[ f(x) for x in range(n) ] t2=time.time() print t2-t1 def test2(…

ループまわすのと内包表現と numpy.array

ちょっとしたテスト import numpy import time def test0(n): """空""" t1=time.time() t2=time.time() print t2-t1 def test1(n): """内包表現""" t1=time.time() a=[ x for x in range(n) ] t2=time.time() print t2-t1 def test2(n): """append""" t1=tim…

tsv の読み込み

最近考えた TSV (tab separated values) 形式で書かれたデータファイルを読んで辞書のリストに登録する. import re tsvfile = "filename" f=open(tsv,"r") s=re.compile("[\t\s]") objects=map( lambda x: { "id" : int(x[0]), # ここら辺はそれぞれのデー…

astLib-0.5.0 を使って ScaleBar を描く時の注意

python を使った天文用 plotter として大変便利な astLib ですが,scalebar の長さが違うという重要なバグがありましたのでメモしておきます. なにが間違っているかと言うと,scalebar を描く時の終点を決めるところで,ra 方向にも角度をそのまま足してし…

Matplotlib で tex 形式のテキストを入力する

いつも忘れてしまうのでメモしておく matplotlib を使って図を作ってるときに,tex 形式のテキストをいれたいときに行う環境変数の設定. from matplotlib import rc rc('text', usetex=True) これで使いたいところで r"$\log\left( h^{-1} M/ M_{\odot}\rig…

内包表現

これが分かりやすいかは別として,テキストファイルととかから読み込んだデータを配列に格納する. p=re.compile("[\t\n]") data = numpy.array( \ map( lambda x: map(lambda y: float(y), p.split(x)), \ [ \ filter( lambda x: x is not "", x) \ for x i…

データソート

データのソートについてまとめてある: http://blog.livedoor.jp/yawamen/archives/51492356.htmlたとえば 3つの tuple をもつリストをソートする: for x, y, nu in sorted(peak, key=lambda x:x[2], reverse=True): print n, x, y, nu 相変わらず lambda …

python 2.6 compiling with 64 bit libraries

./configure --enable-universalsdk --with-universal-archs=intel

matplotlib.pylab で時系列データを扱う

pylab で時系列データを plot するにはどうしたらいいか小一時間悩んだ.結論は単に datetime オブジェクトを放り投げればいいだけだった. datetime.datetime(*strptime(row[0], "%Y-%m-%d %H:%M:%S")[0:6])) row[0] には datetime.datetime.now() で得た時…

積分

当たり前だけど import scipy.integrate print scipy.integrate.quad(lambda x: x**2, 0,1) で積分できちゃうのすごいな. print scipy.integrate.quad(lambda x: x**-0.5, 0,1) とかも