python求平均值最簡(jiǎn)單方法 用Python怎么求一組數(shù)的平均值?
用Python怎么求一組數(shù)的平均值?>>> l=[1, 2, 3, 4, 5, 4,3,2,1] #輸入數(shù)字到數(shù)組中>>> sum(l)/len(l) #求平均數(shù)2.77777
用Python怎么求一組數(shù)的平均值?
>>> l=[1, 2, 3, 4, 5, 4,3,2,1] #輸入數(shù)字到數(shù)組中>>> sum(l)/len(l) #求平均數(shù)2.7777777777777777>>> "{:.3f}".format(sum(l)/len(l)) #求平均數(shù),保留3位小數(shù)"2.778"
Python能否進(jìn)行大規(guī)模數(shù)值計(jì)算?
感覺在問這個(gè)問題的時(shí)候,你可能主要是懷疑Python的性能吧?其實(shí)Python很多比較好時(shí)的模塊都是用c寫的,像numpy是一個(gè)常用的Python數(shù)值計(jì)算的庫(kù),他就是用c實(shí)現(xiàn)的。而且,現(xiàn)在電腦的配置也不像十幾年前那么低了。今年P(guān)ython依靠人工智能而掀起了一股浪潮,作為人工智能產(chǎn)品開發(fā)中最受歡迎的編程語(yǔ)言,而人工智能相關(guān)產(chǎn)品的開發(fā),自然也離不開大數(shù)據(jù)的支撐,所以不用去懷疑Python能不能進(jìn)行大規(guī)模的數(shù)值計(jì)算。
如何用python計(jì)算方差,平均值?
python計(jì)算均值方差用Python求均值與方差,可以自己寫,也可以借助于numpy,不過到底哪個(gè)快一點(diǎn)呢?我做了個(gè)實(shí)驗(yàn),首先生成9百萬(wàn)個(gè)樣本:nlist=range(0,9000000)nlist=[float(i)/1000000foriinnlist]N=len(nlist)第二行是為了讓樣本小一點(diǎn),否則從1加到9百萬(wàn)會(huì)溢出的。自己實(shí)現(xiàn),遍歷數(shù)組來(lái)求均值方差:sum1=0.0sum2=0.0foriinrange(N):sum1 =nlist[i]sum2 =nlist[i]**2mean=sum1/Nvar=sum2/N-mean**2用時(shí)5.3s借助numpy的向量運(yùn)算來(lái)求:importnumpynarray=numpy.array(nlist)sum1=narray.sum()narray2=narray*narraysum2=narray2.sum()mean=sum1/Nvar=sum2/N-mean**2用時(shí)1.0s
python如何向數(shù)組中添加元素?
python向數(shù)組中添加元素步驟如下:#一個(gè)二維數(shù)組,元素按照題主的要求有正有負(fù)。list1 = [[1,1],[-2,2],[3,-3],[-4,-4]]#一個(gè)空數(shù)組,用于接受需求轉(zhuǎn)換以后的數(shù)據(jù)。list2 = []#for循環(huán),遍歷數(shù)組中的元素。for i ,j in list1 :#按題主要求,負(fù)數(shù)變成0,非負(fù)數(shù)保留自身。樓上說(shuō)條件索引的方法,大概也是在這一步的操作。但因?yàn)槭嵌S數(shù)組,所以想來(lái)太抽象,不適合大我這樣思維能力一般的人。所以我用了絕對(duì)值求 平均數(shù)的笨方法。[i,j] = [(i abs(i))/2,(j abs(j))/2 ]#把轉(zhuǎn)換后的數(shù)組元素追加到新數(shù)組。list2.append([i,j])#查看結(jié)果,[[1, 1], [0, 2], [3, 0], [0, 0]],print list2
python編寫一個(gè)計(jì)算平均值的函數(shù),次函數(shù)接受兩個(gè)或多個(gè)數(shù)字,求大神指教?
def ma(x,y):
"""
# 自定義函數(shù)“ma(x,y)”指南
函數(shù)格式:ma(x,y)
函數(shù)功能:求序列數(shù)據(jù)x的y周期的簡(jiǎn)單平均值,輸出值為序列平均值、即列表。
函數(shù)使用舉例:
#輸入:
L = [1,2,3,4,5]
ma(L,3)
#輸出:
[2.0, 3.0, 4.0]
#輸出注解:
(1 2 3)/3=2.0
(2 3 4)/3=3.0
(3 4 5)/3=4.0
"""
if isinstance(x,str):
print("第一個(gè)參數(shù)不能是字符串!")
elif isinstance(y,int) and y>0 and len(x) >= y:
x = list(x)
L=[]
z=[x[i : i y] for i in range(0,len(x) - y 1,1)]
for i in range(0,len(x) - y 1):
L.append(sum(z[i][0 : y 1]) / y)
return L
else:
if isinstance(x,list) == False:
print("請(qǐng)輸入一個(gè)列表或者數(shù)組或者元組!")
if isinstance(y,int) == False or y <= 0:
print("錯(cuò)誤提示:第二個(gè)參數(shù)應(yīng)該是正整數(shù)!")
if len(x) < y:
print("錯(cuò)誤提示:第二個(gè)參數(shù)值要小于等于第一個(gè)參數(shù)中元素的個(gè)數(shù)!")
print([0 for i in range(0,y)])
print([None for i in range(0,y)])
print(list())