読者です 読者をやめる 読者になる 読者になる

beer2011のブログ

田舎の日常、釣りや、ネット、Apple関係などの内容をカキコします。(特に)プログラミング関係はど素人ですので、あまり当てにされませぬように・・。(^^;) 「次ページ」や「過去記事」などのリンクは、下の方にあります。

Pythonista1.5、すばらしい

Pythonista1.5、使っているが、楽しい。
今回のアップデートで、Numpyやmatplotlibが使えるようになり、その方面に気がある人にとってはたまらないものになっている。
そして、ネイティブのUIが搭載されて、ウインドウや、ボタンはもちろん、リストボックスなども利用できる。
Macにおいても、これだけの環境はあるのだろうか?
 
簡単な統計処理ルーチン、書いてみた。(Phthonistaの機能を、ただ並べただけの内容ということで失礼 σ(^_^;)
 
-------------------
# -*- coding: utf-8 -*-
# v1.0  2014-06-17

import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
import math

# 対象データ
DATA=[568,530,581,554,536,518,564,552]
#DATA = [47,51,49,50,49,46,51,48,52,49]
#DATA = [135,142,149,146,149,144,137,138,156,153,150,147,136,160,142,157]
#DATA = [144,143,139,166,169,144,147,138,176,133,170,137,146,140,122,177]


# 簡易データ分析
def summary(np_arr):
print '----- summary -----'
print '標本= ', np_arr
print '標本数= ', len(np_arr)
print '最小値= ', np.min(np_arr)
print '最大値= ', np.max(np_arr)
print '中央値= ', np.median(np_arr)
print '平均= ', np.mean(np_arr)
print '分散= ', np.var(np_arr)
print '標準偏差= ', np.std(np_arr)
print '不偏分散= ', fuhen_var(np_arr)
print '標本標準誤差= ', hyoujyun_gosa(np_arr)
# 不偏分散
def fuhen_var(np_arr):
mean = np.mean(np_arr)
sum = 0
for i in np_arr:
sum = sum + math.pow(i-mean, 2)
return sum / (len(np_arr)-1)
# 標本標準誤差
def hyoujyun_gosa(np_arr):
mean = np.mean(np_arr)
sum = 0
for i in np_arr:
sum = sum + math.pow(i-mean, 2)
fuhen = sum / (len(np_arr)-1)
return math.sqrt(fuhen / len(np_arr))
# 散布図表示
def plot():
plt.plot(DATA, 'ro')
plt.margins(0.2)
plt.show()
plt.close()
def hist():
plt.hist(DATA)
plt.show()
plt.close()

# MAIN
def main():
np_arr = np.array(DATA)
summary(np_arr)
while True:
print 's)ummary, p)lot, h)istgram, q)uit = ?'
inp = raw_input()
if inp == 'q':
print '***終了しました***'
break
elif inp == 's':
summary(np_arr)
elif inp == 'p':
plot()
elif inp == 'h':
hist()


if __name__ == '__main__':
main()


---------------------
 
実行するとこんな感じです。
 
f:id:beer2011:20140619072142j:plain
 
f:id:beer2011:20140619072158j:plain
 
苦労いらず。なんと素晴らしい。(-_^)