python計算均值
1. 如何用python編一個函數,對輸入的任意多個數進行求平均值。任意多個數!
lst = [] #定義一個空列表
str = raw_input("請輸入數值,用空格隔開:")
lst1 = str.split(" ")#lst1用來存儲輸入的字元串,用空格分割
i = 0
while i <= len(lst1)+1:
lst.append(int(lst1.pop()))#將lst1的數據轉換為整型並賦值給lst
i += 1
#print(lst)
def sum(list):
"對列表的數值求和"
s = 0
for x in list:
s += x
return s
def average(list):
"對列表數據求平均值"
avg = 0
avg = sum(list)/(len(list)*1.0) #調用sum函數求和
return avg
print("avg = %f"%average(lst))
(1)python計算均值擴展閱讀:
for循環小括弧里第一個「;」號前為一個為不參與循環的單次表達式,其可作為某一變數的初始化賦值語句, 用來給循環控制變數賦初值; 也可用來計算其它與for循環無關但先於循環部分處理的一個表達式。
執行的中間循環體可以為一個語句,也可以為多個語句,當中間循環體只有一個語句時,其大括弧{}可以省略,執行完中間循環體後接著執行末尾循環體。
執行末尾循環體後將再次進行條件判斷,若條件還成立,則繼續重復上述循環,當條件不成立時則跳出當下for循環。
2. 用python求平均值的代碼
將未來七天數值輸入wen列表
利用sum函數求和,這點和excel里類似。賦值給變數s
.將變數s除7, 利用len函數求列表長度。再轉化為整數,用int函數。賦值給average變數。編程就是這么一步一步,不能有一點錯
將平均值列印到屏幕,利用print函數
.運行程序,或按f5,結果屏幕上顯示。結果隨數字改變而改變。程序自動完成。如果報錯,則要排除bug
3. 求輸入n個數的平均數python
n = int(input("請輸入數量"))
sum1 = 0
i = 1
while i <= n:
node = float(input("請輸入數"))
sum1 = sum1 + node
i ++
print(sum1/n)
4. Python編程求平均值的兩種方法是
方法一:
scores = [91, 95, 97, 99, 92, 93, 96, 98]
scores2 = []
avg = sum(scores) / len(scores)
print('平均成績是:{}'.format(avg))
for i in scores:
if i avg># 少於平均分的成績放到新建的空列表中
scores2.append(i)
print('低於平均成績的有:{}'.format(scores2))
方法二:
導入函數庫
import numpy as np # 導入 numpy庫,as 即為導入的庫起一個別稱,別稱為np
scores1 = [91, 95, 97, 99, 92, 93, 96, 98]
scores2 = []
average = np.mean(scores1) # 一行解決。
print('平均成績是:{}'.format(average))
# 下面展示一種NumPy數組的操作,感興趣的同學可以自行去學習哈。
scores3 = np.array(scores1)
print('低於平均成績的有:{}'.format(scores3[scores3
5. python如何定義一個函數求列表各項數據平均值
# coding = GBK
a =[1,2,3,4,5]
sum=0
b = len(a)
print("這個數組的長度為:",b)
for i in a:
sum =sum +i
print("這個數組之和為:",sum)
print("這個數組平均數為",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))
(5)python計算均值擴展閱讀:
python 實現求和、計數、最大最小值、平均值、中位數、標准偏差、百分比。
importsys
classStats:
def__init__(self, sequence):
# sequence of numbers we will process
# convert all items to floats for numerical processing
self.sequence=[float(item)foriteminsequence]
defsum(self):
iflen(self.sequence) <1:
returnNone
else:
returnsum(self.sequence)
defcount(self):
returnlen(self.sequence)
defmin(self):
iflen(self.sequence) <1:
returnNone
else:
returnmin(self.sequence)
defmax(self):
iflen(self.sequence) <1:
returnNone
else:
returnmax(self.sequence)
defavg(self):
iflen(self.sequence) <1:
returnNone
else:
returnsum(self.sequence)/len(self.sequence)
defmedian(self):
iflen(self.sequence) <1:
returnNone
else:
self.sequence.sort()
returnself.sequence[len(self.sequence)//2]
defstdev(self):
iflen(self.sequence) <1:
returnNone
else:
avg=self.avg()
sdsq=sum([(i-avg)**2foriinself.sequence])
stdev=(sdsq/(len(self.sequence)-1))**.5
returnstdev
defpercentile(self, percentile):
iflen(self.sequence) <1:
value=None
elif(percentile >=100):
sys.stderr.write('ERROR: percentile must be < 100. you supplied: %s '%percentile)
value=None
else:
element_idx=int(len(self.sequence)*(percentile/100.0))
self.sequence.sort()
value=self.sequence[element_idx]
returnvalue
6. python lst求平均
思路是接收輸入的字元串,以空格為分隔符,將分割的數據存入列表(lst1)中,將lst1中的數據轉存入另一個空列表(lst)中,轉存時將字元串轉化為整型,從而利用函數求出lst中數的和、平均值。print("-----求平均值,可輸入任意多個數-------")
lst = [] #定義一個空列表
str = raw_input("請輸入數值,用空格隔開:")
lst1 = str.split(" ")#lst1用來存儲輸入的字元串,用空格分割
i = 0
while i <= len(lst1)+1:
lst.append(int(lst1.pop()))#將lst1的數據轉換為整型並賦值給lst
i += 1
#print(lst)
def sum(list):
"對列表的數值求和"
s = 0
for x in list:
s += x
return s
def average(list):
"對列表數據求平均值"
avg = 0
avg = sum(list)/(len(list)*1.0) #調用sum函數求和
return avg
print("avg = %f"%average(lst))
運行結果:
請輸入數值,用空格隔開:21 32 45 65
avg = 47.333333
7. python怎麼算平均值
首先我們先來了解一下計算平均數的IPO模式.
輸入:待輸入計算平均數的數。
處理:平均數演算法
輸出:平均數
明白了程序的IPO模式之後,我們打開本地的python的IDE
工具,並新建一個python文件,命名為test6.py.
8. python計算一個序列的平均值的方法
python計算一個序列的平均值的方法
這篇文章主要介紹了python計算一個序列的平均值的方法,涉及Python遞歸遍歷與數學計算的相關技巧,具有一定參考借鑒價值,分享給大家供大家參考。
具體如下:
def average(seq, total=0.0):
num = 0
for item in seq:
total += item
num += 1
return total / num
如果序列是數組或者元祖可以簡單使用下面的代碼
def average(seq):
return float(sum(seq)) / len(seq)
希望本文所述對大家的Python程序設計有所幫助。
9. python求平均值
python沒有提供求平均數的函數,建議先求和然後除以個數求得,內容如下:
#!/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。
解釋性:
一個用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉換到一個你的計算機使用的語言(二進制代碼,即0和1)。這個過程通過編譯器和不同的標記、選項完成。
運行程序的時候,連接/轉載器軟體把你的程序從硬碟復制到內存中並且運行。而Python語言寫的程序不需要編譯成二進制代碼。你可以直接從源代碼運行 程序。
在計算機內部,Python解釋器把源代碼轉換成稱為位元組碼的中間形式,然後再把它翻譯成計算機使用的機器語言並運行。這使得使用Python更加簡單。也使得Python程序更加易於移植。
10. 用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-均值)²加起來,最後再除以一個長度即可。
本程序的優點:輸入時逗號後出現空格與不小心多打逗號等情況都不會出問題,可以接受小數,可以先輸出最終數列以供核對。