隨手寫程式 單樣本t分布檢驗

2021-08-21 12:14:55 字數 1291 閱讀 4907

def ******_t_test(x,miu):

n=len(x)

if n<=30 or n>=47:

return'請輸入31-46長度的樣本'

t=[71,55,19,24,9,96,83,71,60,49,39,29,20,11,2,94]

it=iter(t)

for i in range(len(t)):

t[i]=next(it)/10000+1.69

#構造t分布表,顯著性水平0.05,自由度從30到45

mean=0;

for i in x:

mean+=i

mean=mean/n

#求樣本均值

ss=0

for i in x:

ss=(i-mean)**2+ss

ss=ss/n

#求樣本方差

t=(mean-miu)/ss*(n-1)**(1/2)

#構造t統計量

if t-t[n-31]:

return '不拒絕原假設'

else:

return '拒絕原假設'

程式很短,也很簡單,但是一開始寫碰到的坑不少。

1.呼叫時用import載入模組後,呼叫函式失敗,用from import載入就可以呼叫,至於為什麼暫時不研究了。同時注意路徑的新增。

2.函式引數乙個是列表,乙個是浮點數,列表是可變資料型別,不知該不該在函式裡複製一下再用,或本該用元組型別。

3.python的程式段結構裡縮排是有意義的,所以寫的時候格外注意,還有冒號,有個好用的編輯器很重要啊。。

4.這裡t分布表算是手動輸入的,迴圈裡用了個迭代器(iter),暫時也不知道迭代器威力何在,先隨便玩玩嘍。

5.迴圈裡一開始老忘i是在遍歷x,老想著從一到n,還有python是從0計數的。

6.python函式呼叫時,引數有好幾種傳遞方式,關鍵字引數方式挺好用的。

下面是呼叫實驗

import sys

from jjj import ******_t_test

print(******_t_test(range(34),17))

結果是

***************==== restart: d:\python\pythondata\jjjj.py ***************====

不拒絕原假設

這段程式沒用pandas,也沒用呼叫資料庫資料實驗,下一步可以考慮改進。用的統計分析方法也很簡單,也可以考慮公升級。

vim 隨手寫(一)

原文 翻譯者 huangyi 日期 2006 5 13 聯絡 yi.codepla gmail.com vimtip 5 快速搜尋乙個單詞 搜尋當前檔案中當前游標下的單詞,你可以使用 或 鍵從當前游標位置開始搜尋到檔案結束。鍵從當前游標位置開始 搜尋到檔案開頭。注意上面兩個鍵都會搜尋整個單詞而不是單...

隨手寫寫(一)

好久沒寫隨筆了,今日而言都有簡單地寫日記,除了記錄一天流水般的生活。很少有具體抒發自己的感想或者是能夠有足夠的領悟。人啊,不思考就會變成一塊木頭,朽木蛀蟲,枯木難逢春。愛情是什麼?是依賴是逃避?還是從無話不說變成無話不說?有人用戀愛來充實自己,有人談戀愛只是一種試錯。你知道這是錯的,所以你選的試試,...

隨手寫的一張移動端頁面

charset utf 8 活動詳情title style height 2rem position fixed top 0 left 0 text align center width 100 line height 2rem background color f95860 color fff 隨...