# coding = GBK
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),君山企業(yè)網(wǎng)站建設(shè),君山品牌網(wǎng)站建設(shè),網(wǎng)站定制,君山網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,君山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
a =[1,2,3,4,5]
sum=0
b = len(a)
print("這個(gè)數(shù)組的長(zhǎng)度為:",b)
for i? in a:
sum =sum +i
print("這個(gè)數(shù)組之和為:",sum)
print("這個(gè)數(shù)組平均數(shù)為",sum/b)
或
import sys
sum = 0
cnt = 0
f = open('1.txt', 'r')
files = f.readline()
while (files ):
sum = sum + float(files .split(",")[0])
cnt = cnt + 1
files = f.readline()
print(sum / cnt)
f.close()
或者。
#!/usr/bin/env pythonimport timeimport numpy as np
dd = np.random.randint(0, 20, size=(2*1000*1000))t_start = time.clock()avg_sum1 =
0.0BlockOffset = 0 ? ? while BlockOffset len(dd):
if dd[BlockOffset + 1] = 10:
avg_sum1 += dd[BlockOffset + 1] * 0.1
else:
avg_sum1 += dd[BlockOffset + 0] * 0.01
BlockOffset += 2print('Avg: ' + str(avg_sum1 / len(dd) / 2)) ? ?print('Exe time: ' +
str(time.clock() - t_start))
擴(kuò)展資料:
python 實(shí)現(xiàn)求和、計(jì)數(shù)、最大最小值、平均值、中位數(shù)、標(biāo)準(zhǔn)偏差、百分比。
import?sys
class?Stats:
def?__init__(self, sequence):
# sequence of numbers we will process
# convert all items to floats for numerical processing
self.sequence?=?[float(item)?for?item?in?sequence]
def?sum(self):
if?len(self.sequence) ?1:
return?None
else:
return?sum(self.sequence)
def?count(self):
return?len(self.sequence)
def?min(self):
if?len(self.sequence) ?1:
return?None
else:
return?min(self.sequence)
def?max(self):
if?len(self.sequence) ?1:
return?None
else:
return?max(self.sequence)
def?avg(self):
if?len(self.sequence) ?1:
return?None
else:
return?sum(self.sequence)?/?len(self.sequence)?
def?median(self):
if?len(self.sequence) ?1:
return?None
else:
self.sequence.sort()
return?self.sequence[len(self.sequence)?//?2]
def?stdev(self):
if?len(self.sequence) ?1:
return?None
else:
avg?=?self.avg()
sdsq?=?sum([(i?-?avg)?**?2?for?i?in?self.sequence])
stdev?=?(sdsq?/?(len(self.sequence)?-?1))?**?.5
return?stdev
def?percentile(self, percentile):
if?len(self.sequence) ?1:
value?=?None
elif?(percentile =?100):
sys.stderr.write('ERROR: percentile must be 100.? you supplied: %s\n'%?percentile)
value?=?None
else:
element_idx?=?int(len(self.sequence)?*?(percentile?/?100.0))
self.sequence.sort()
value?=?self.sequence[element_idx]
return?value
參考資料來(lái)源:百度百科-python
numpy計(jì)算平均數(shù) 標(biāo)準(zhǔn)差 相關(guān)系數(shù)等基本知識(shí)
NumPy 是python 語(yǔ)言的一個(gè)第三方庫(kù),其支持大量高維度數(shù)組與矩陣運(yùn)算。此外,NumPy 也針對(duì)數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)。
#導(dǎo)入Numpy庫(kù),并命名為np
import numpy as np
#創(chuàng)建一維數(shù)組
a = np.array([1, 2, 3])
# NumPy可以很方便地創(chuàng)建連續(xù)數(shù)組,比如我使用arange或linspace函數(shù)進(jìn)行創(chuàng)建:
b = np.arange(1,5,1) // 返回一個(gè)有終點(diǎn)和起點(diǎn)、固定步長(zhǎng)的排列,如起點(diǎn)是1,終點(diǎn)是4,步長(zhǎng)為1,即【1,2,3,4】,
c = np.linspace(1,9,5) 返回一個(gè)有終點(diǎn)和起點(diǎn)、元素個(gè)數(shù)的的排列,如起點(diǎn)是1,終點(diǎn)是9,元素個(gè)數(shù)為5,即【1,3,5,7,9】
#通過(guò)NumPy可以自由地創(chuàng)建等差數(shù)組,同時(shí)也可以進(jìn)行加、減、乘、除、求n次方和取余數(shù)。
求和:np.sum(a)
求取平均值:np.mean(a)
求取中位數(shù):np.median(a)
求取加權(quán)平均數(shù):np.average(a)
求取方差:var() np.var(a)
求取最小值:np.amin(a)
求取最大值:np.amax(a)
將兩個(gè)數(shù)相加:np.add(x1, x2)
將兩個(gè)數(shù)相減:np.subtract(x1, x2)
將兩個(gè)數(shù)相乘:np.multiply(x1, x2)
將兩個(gè)數(shù)相除:np.divide(x1, x2)
立方:np.power(x1, x2)
除余:np.remainder(x1, x2)
相關(guān)系數(shù)計(jì)算:np.corrcoef(a1, a2) (a1、a2都是矩陣)
有些Python小白對(duì)numpy中的常見(jiàn)函數(shù)不太了解,今天小編就整理出來(lái)分享給大家。
Numpy是Python的一個(gè)科學(xué)計(jì)算的庫(kù),提供了矩陣運(yùn)算的功能,其一般與Scipy、matplotlib一起使用。其實(shí),list已經(jīng)提供了類似于矩陣的表示形式,不過(guò)numpy為我們提供了更多的函數(shù)。
數(shù)組常用函數(shù)
1.where()按條件返回?cái)?shù)組的索引值
2.take(a,index)從數(shù)組a中按照索引index取值
3.linspace(a,b,N)返回一個(gè)在(a,b)范圍內(nèi)均勻分布的數(shù)組,元素個(gè)數(shù)為N個(gè)
4.a.fill()將數(shù)組的所有元素以指定的值填充
5.diff(a)返回?cái)?shù)組a相鄰元素的差值構(gòu)成的數(shù)組
6.sign(a)返回?cái)?shù)組a的每個(gè)元素的正負(fù)符號(hào)
7.piecewise(a,[condlist],[funclist])數(shù)組a根據(jù)布爾型條件condlist返回對(duì)應(yīng)元素結(jié)果
8.a.argmax(),a.argmin()返回a最大、最小元素的索引
改變數(shù)組維度
a.ravel(),a.flatten():將數(shù)組a展平成一維數(shù)組
a.shape=(m,n),a.reshape(m,n):將數(shù)組a轉(zhuǎn)換成m*n維數(shù)組
a.transpose,a.T轉(zhuǎn)置數(shù)組a
數(shù)組組合
1.hstack((a,b)),concatenate((a,b),axis=1)將數(shù)組a,b沿水平方向組合
2.vstack((a,b)),concatenate((a,b),axis=0)將數(shù)組a,b沿豎直方向組合
3.row_stack((a,b))將數(shù)組a,b按行方向組合
4.column_stack((a,b))將數(shù)組a,b按列方向組合
數(shù)組分割
1.split(a,n,axis=0),vsplit(a,n)將數(shù)組a沿垂直方向分割成n個(gè)數(shù)組
2.split(a,n,axis=1),hsplit(a,n)將數(shù)組a沿水平方向分割成n個(gè)數(shù)組
數(shù)組修剪和壓縮
1.a.clip(m,n)設(shè)置數(shù)組a的范圍為(m,n),數(shù)組中大于n的元素設(shè)定為n,小于m的元素設(shè)定為m
2.a.compress()返回根據(jù)給定條件篩選后的數(shù)組
數(shù)組屬性
1.a.dtype數(shù)組a的數(shù)據(jù)類型
2.a.shape數(shù)組a的維度
3.a.ndim數(shù)組a的維數(shù)
4.a.size數(shù)組a所含元素的總個(gè)數(shù)
5.a.itemsize數(shù)組a的元素在內(nèi)存中所占的字節(jié)數(shù)
6.a.nbytes整個(gè)數(shù)組a所占的內(nèi)存空間7.a.astype(int)轉(zhuǎn)換a數(shù)組的類型為int型
數(shù)組計(jì)算
1.average(a,weights=v)對(duì)數(shù)組a以權(quán)重v進(jìn)行加權(quán)平均
2.mean(a),max(a),min(a),middle(a),var(a),std(a)數(shù)組a的均值、最大值、最小值、中位數(shù)、方差、標(biāo)準(zhǔn)差
3.a.prod()數(shù)組a的所有元素的乘積
4.a.cumprod()數(shù)組a的元素的累積乘積
5.cov(a,b),corrcoef(a,b)數(shù)組a和b的協(xié)方差、相關(guān)系數(shù)
6.a.diagonal()查看矩陣a對(duì)角線上的元素7.a.trace()計(jì)算矩陣a的跡,即對(duì)角線元素之和
以上就是numpy中的常見(jiàn)函數(shù)。更多Python學(xué)習(xí)推薦:PyThon學(xué)習(xí)網(wǎng)教學(xué)中心。
def?median(lst):
if?not?lst:
return?
lst=sorted(lst)
if?len(lst)%2==1:
return?lst[len(lst)//2]
else:
return??(lst[len(lst)//2-1]+lst[len(lst//2])/2.0
# coding=gbk
import numpy as np
inputStr = input("請(qǐng)輸入多個(gè)整數(shù),以空格分隔:")
# 使用列表推導(dǎo)式將輸入的內(nèi)容以空格分隔,如果有小數(shù),則通過(guò)int函數(shù)變?yōu)檎麛?shù)
input_lists = [int(num) for num in inputStr.split(" ")]
# 通過(guò)sort方法,并使用參數(shù)reverse=True,來(lái)將列表的數(shù)據(jù)以降序排列
input_lists.sort(reverse=True)
# 由于通過(guò)",".join()連接的列表不能有整數(shù)元素,所以通過(guò)列表推導(dǎo)式將列表每個(gè)元素通過(guò)str轉(zhuǎn)為字符串后,再聯(lián)接為以逗號(hào)分隔的字符串
print(",".join([str(num) for num in input_lists]))
# 使用numpy的median函數(shù)來(lái)得到中位數(shù)
print(np.median(input_lists))
使用python找到一列數(shù)的中位數(shù)并輸出的代碼示例如下,只有9行代碼:
import random;
N=9;lst=[
random.randint(0,100)
for i in range(N)];
lst.sort();
l=len(lst);
print("sorted:",lst);
print("median:",
sum(lst[((l-1)//2):(l//2+1)])/2);
本文名稱:python求中位數(shù)函數(shù) python計(jì)算中位數(shù)
網(wǎng)址分享:http://chinadenli.net/article8/hgcsip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、、網(wǎng)站策劃、手機(jī)網(wǎng)站建設(shè)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容