Ⅰ 用python求數據表中數據的均值與方差
以下為代碼:
numstr = input("請輸入全部數據:用英文逗號(,),中文逗號(,),
空格( ),製表符(tab鍵)或換行(請一次性復制過來)中的一種統一分隔數據:")
if "," in numstr:
numlist = numstr.split(",")
elif "," in numstr:
numlist = numstr.split(",")
elif " " in numstr:
numlist = numstr.split(" ")
elif " " in numstr:
numlist = numstr.split(" ")
elif " " in numstr:
numlist = numstr.split(" ")
else:
numlist = [numstr]
numlist = list(map(lambda x:x.strip(",").strip(",").
strip(" ").strip(" ").strip(" "), numlist))
for i in numlist.():
try:
a = float(i)
except:
numlist.remove(i)
print("已過濾字元串:%s"%i)
#好了,上面很多隻是方便用戶而已(但還是有一些有用的),主要是下面
numlist = list(map(lambda x:float(x), numlist))#所有字元串轉為浮點
print("最終數列:",numlist)#輸出最終數列,進行核對
average = sum(numlist)/len(numlist)#用數列和除以出列長度得到平均數
variance = 0#方差,先記為0
for i in numlist:#遍歷列表
variance += (i - average) ** 2#反正就是公式對吧,先加進去
variance /= len(numlist)#還是公式,那一長串還得除以一個數列長度
print("均值:%.2f 方差:%.2f"%(average, variance))#分兩行輸出
以下為輸出效果:
請輸入全部數據:用英文逗號(,),中文逗號(,),空格( ),製表符(tab鍵)或換行(請一次性復制過來)中的一種統一分隔數據:38,22,99,10,99,7, 25,,40
已過濾字元串:
最終數列: [38.0, 22.0, 99.0, 10.0, 99.0, 7.0, 25.0, 40.0]
均值:42.50
方差:1181.75
以下為解析:
平均值的思路就是總和除以列表長度,方差的思路就是把所有的(x-均值)²加起來,最後再除以一個長度即可。
本程序的優點:輸入時逗號後出現空格與不小心多打逗號等情況都不會出問題,可以接受小數,可以先輸出最終數列以供核對。
Ⅱ python怎麼實現矩陣的除法
1、首先打開pycharm軟體,新建一個python文件並導入numpy庫。
Ⅲ python計算平均值
提示用戶輸入要計算多少個數的平均數
初始化sum總和的值
循環輸入要計算平均數的數,並計算總和sum的值
最後,計算出平均數,並輸出,利用「總和/數量」的公式計算出平均數
推薦教程:python教程以上就是小編分享的關於python計算平均值的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!
Ⅳ python中如何讓二維數組中的每個元素減去它的均值
如果是圖像處理就用PIL庫。似乎有這樣的演算法。
我的想法就是用numpy包中的減法。矩陣相減。
其實用python遍歷的速度比你想像的要快。
如果還不夠快就C語言寫,其中有一個庫prex,可以方便的實現python與C的介面,比直接用pyobject要方便很多。
另外你可以用CTYPE中的整型存貯,應該比如直接用python中的int節約空間,速度可能也會快些。
我曾經用PIL結合python寫驗證碼識別的演算法,速度快,消耗的時間基本上可以忽略。
Ⅳ python求平均值的函數
首先我們先來了解一下計算平均數的IPO模式.
輸入:待輸入計算平均數的數。
處理:平均數演算法
輸出:平均數
明白了程序的IPO模式之後,我們打開本地的python的IDE
工具,並新建一個python文件,命名為test6.py.