July 29(Fri), 2011
sqlite3 - Python 中央値を得る集計関数を追加する
sqlite には ORACLE のように中央値を取得する集計関数 MEDIAN が無いようです。しかし以下のように自前の関数を追加することができます。
import sqlite3 class Median: def __init__(self): self.values = [] def step(self, value): self.values.append(value) def finalize(self): srtd = sorted(self.values) alen = len(srtd) return 0.5*(srtd[(alen-1)//2] + srtd[alen//2]) conn = sqlite3.connect("sqlite.db") conn.create_aggregate("median", 1, Median) cur = conn.cursor() cur.execute("select median(data1) from table1")
プラネックス
購入: 20人 クリック: 73回
購入: 20人 クリック: 73回
トラックバック - http://d.hatena.ne.jp/akiraak/20110729/1311947969
リンク元
- 4 http://www.google.co.jp/url?sa=t&source=web&cd=1&ved=0CBgQFjAA&url=http://d.hatena.ne.jp/akiraak/20061210/1165727445&rct=j&q=hosts VISTA 場所&ei=ftYzTqTECsjbmAXHhczwCg&usg=AFQjCNHxLh0w-oq9BJvJGszAVwQhtEoLSg&sig2=RVSxI9-uh_H5b
- 3 http://bit.ly/qUmnk5
- 3 http://htn.to/HfaCrj
- 3 http://search.yahoo.co.jp/search?b=1&n=10&ei=UTF-8&fr=ie8sc&p=ブラックビーン+成長が早い
- 3 http://www.google.co.jp/url?sa=t&source=web&cd=1&sqi=2&ved=0CBgQFjAA&url=http://d.hatena.ne.jp/akiraak/20061210/1165727445&rct=j&q=vista hosts 場所&ei=fAg0TpmmA-znmAWwzf3wCg&usg=AFQjCNHxLh0w-oq9BJvJGszAVwQhtEoLSg
- 2 http://d.hatena.ne.jp/diarylist?of=0&mode=rss&type=public
- 2 http://www.google.co.jp/search?q=hosts+vista&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a
- 1 http://ow.ly/5Qorn
- 1 http://ow.ly/5QotC
- 1 http://search.mobile.yahoo.co.jp/onesearch/?sbox=SBB&squery=一文無し&p=一文無し生活

