成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Python求極差的函數(shù) 計(jì)算極差的函數(shù)

python編程統(tǒng)計(jì)列表中各數(shù)據(jù)的方差和標(biāo)準(zhǔn)差請編寫主函數(shù)和計(jì)算方差的函數(shù)var。(不能引用庫里)

def fangcha(): a=float(raw_input("請輸入a:")) b=float(raw_input("請輸入b:")) c=float(raw_input("請輸入C:")) d=(a+b+c)/3.0 e=((a-d)**2+(b-d)**2+(c-d)**2)/3.0 print "平均數(shù)是:%f方差是:%f" %(d,e) fangcha() Python2.7可用

“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是創(chuàng)新互聯(lián)公司的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個(gè)不僅審美在線,而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無止境。

為什么極差用python跑不出結(jié)果

python作為數(shù)據(jù)分析的利器,求極差、平均數(shù)、中位數(shù)、眾數(shù)與方差是很常用的,然而,在python進(jìn)行統(tǒng)計(jì)往往要使用外部的python庫numpy,這個(gè)庫不難裝,然而,如果單純只是求極差、平均數(shù)、中位數(shù)、眾數(shù)與方差,還是自己寫比較好,因?yàn)?,給一個(gè).py程序別人的機(jī)器,別人的機(jī)器上沒有python庫numpy,又要?jiǎng)e人折騰一番,這很不好。不過看情況咯,如果你要處理上億級(jí)的數(shù)據(jù),還是配置一下外部的python庫numpy吧。

先給大家回歸一下極差、平均數(shù)、中位數(shù)、眾數(shù)與方差是什么鬼:

1、極差:最大值與最小值之差。它是標(biāo)志值變動(dòng)的最大范圍。英文:range

公式:R=Xmax-Xmin(其中,Xmax為最大值,Xmin為最小值)

2、平均數(shù):一組數(shù)據(jù)中所有數(shù)據(jù)之和再除以數(shù)據(jù)的個(gè)數(shù)。反映數(shù)據(jù)集中趨勢的一項(xiàng)指標(biāo)。英文:average

公式:

3、中位數(shù):對于有限的數(shù)集,可以通過把所有觀察值高低排序后找出正中間的一個(gè)作為中位數(shù)。如果觀察值有偶數(shù)個(gè),通常取最中間的兩個(gè)數(shù)值的平均數(shù)作為中位數(shù)。英文:median

公式:從小到大排序?yàn)??則N為奇數(shù)時(shí),N為偶數(shù)時(shí),?

4、眾數(shù):眾數(shù)是樣本觀測值在頻數(shù)分布表中頻數(shù)最多的那一組的組中值,主要應(yīng)用于大面積普查研究之中。英文:mode

例如:1,2,3,3,4的眾數(shù)是3。

但是,如果有兩個(gè)或兩個(gè)以上個(gè)數(shù)出現(xiàn)次數(shù)都是最多的,那么這幾個(gè)數(shù)都是這組數(shù)據(jù)的眾數(shù)。

例如:1,2,2,3,3,4的眾數(shù)是2和3。

還有,如果所有數(shù)據(jù)出現(xiàn)的次數(shù)都一樣,那么這組數(shù)據(jù)沒有眾數(shù)。

例如:1,2,3,4,5沒有眾數(shù)。

5、方差:方差是實(shí)際值與期望值之差平方的平均值,方差是在概率論和統(tǒng)計(jì)方差衡量隨機(jī)變量或一組數(shù)據(jù)是離散程度的度量。英文:variance

公式:或者(就是在《概率論與數(shù)理統(tǒng)計(jì)》中那條,方差就是平方的期望-期望的平方)

因此,根據(jù)上述的理論,得到如下的代碼:

[python]?view plain?copy

#-*-coding:utf-8-*-

import?time;

import?random;

class?Math:

#求極差

@staticmethod

def?range(l):

return?max(l)-min(l);

#求平均數(shù)

@staticmethod

def?avg(l):

return?float(sum(l))/len(l);

#求中位數(shù)

@staticmethod

def?median(l):

l=sorted(l);#先排序

if?len(l)%2==1:

return?l[len(l)/2];

else:

return?(l[len(l)/2-1]+l[len(l)/2])/2.0;

#求眾數(shù)

@staticmethod

def?mode(l):

#統(tǒng)計(jì)list中各個(gè)數(shù)值出現(xiàn)的次數(shù)

count_dict={};

for?i?in?l:

if?count_dict.has_key(i):

count_dict[i]+=1;

else:

count_dict[i]=1;

#求出現(xiàn)次數(shù)的最大值

max_appear=0

for?v?in?count_dict.values():

if?vmax_appear:

max_appear=v;

if?max_appear==1:

return;

mode_list=[];

for?k,v?in?count_dict.items():

if?v==max_appear:

mode_list.append(k);

return?mode_list;

#求方差

@staticmethod

def?variance(l):#平方的期望-期望的平方

s1=0;

s2=0;

for?i?in?l:

s1+=i**2;

s2+=i;

return?float(s1)/len(l)-(float(s2)/len(l))**2;

#求方差2

@staticmethod

def?variance2(l):#平方-期望的平方的期望

ex=float(sum(l))/len(l);

s=0;

for?i?in?l:

s+=(i-ex)**2;

return?float(s)/len(l);

#主函數(shù),測試

arr=[1,2,3,2,3,1,4];

print?"極差為:{0}".format(Math.range(arr));

print?"平均數(shù)為:{0:.2f}".format(Math.avg(arr));

print?"中位數(shù)為:{0}".format(Math.median(arr));

print?"眾數(shù)為:{0}".format(Math.mode(arr));

print?"方差為:{0:.2f}".format(Math.variance(arr));

print?"方差為:{0:.2f}".format(Math.variance2(arr));

print;

#性能測試

arraylist=[];

for?i?in?range(1,1000000):

arraylist.append(i);

random.shuffle(arraylist);

time_start=time.time();

print?"方差為:{0:.2f}".format(Math.variance(arraylist));

time_end=time.time();

print?"{0}s".format(time_end-time_start);

time_start=time.time();

print?"方差為:{0:.2f}".format(Math.variance2(arraylist));

time_end=time.time();

print?"{0}s".format(time_end-time_start);

運(yùn)行結(jié)果如下:

關(guān)于這個(gè)程序有幾點(diǎn)說明的:

(1)開頭引入time與random主要是為了最后部分測試兩種求方差的方式那種性能較優(yōu)使用,一般情況下使用上述我自定義的Math類,無須引入任何python包。

(2)求任何一個(gè)統(tǒng)計(jì)量,用到除法,注意先將int先轉(zhuǎn)float,否則精度損失嚴(yán)重,你是得到不到最后的正確答案的。

(3)python中自帶有求list所有元素之和的sum,求list中的最值max,min,對list中的元素進(jìn)行從小到大的排序sort()都用了,其余只能讓我們自己現(xiàn)實(shí)了。

(4)這里無須考慮如果形式參數(shù)被傳入一個(gè)字符串?dāng)?shù)組怎么辦,因?yàn)檫@些工具類都是我們自己使用了,自己控制好要傳遞的數(shù)值,無須考慮這么多。

(5)求眾數(shù)最艱難,因?yàn)橛貌坏饺魏蝡ython自帶的方法,還要返回一個(gè)list,因?yàn)楸姅?shù)的個(gè)數(shù)不定,統(tǒng)計(jì)數(shù)組中出現(xiàn)次數(shù)最多的數(shù)的時(shí)候,用到了python中的字典dict,《【Python】容器類》(點(diǎn)擊打開鏈接),這個(gè)字典中,key是list中的數(shù)字,values是該數(shù)字出現(xiàn)的次數(shù)。然后要求出現(xiàn)次數(shù)的最大值,最后再求出改最大值對應(yīng)的key。其中用count_dict.items()返回字典中的key-value對的數(shù)組集,count_dict.values()返回字典中的value集,當(dāng)然同時(shí)也有count_dict.keys()返回key集。

(6)由于求方差的方法有兩種,此程序在最后部分生成了一個(gè)百萬級(jí)、打亂順序的list,對兩種求方差的方法進(jìn)行測試,令人吃驚的是,萬萬沒想到是我們愚蠢的人類最不愛用,也最難用的,最不好用的平方-期望的平方的期望,優(yōu)于更好記憶的、更常用的平方的期望-期望的平方:。。從上述的運(yùn)行結(jié)果可以看出這種求方差的方法速度是的一倍!這就是聰明的計(jì)算機(jī)與愚蠢的人類的區(qū)別吧~

(7)最后,python的打印到控制臺(tái),其實(shí)你完全可以print得更好的,你不換行還要在print后面補(bǔ)逗號(hào)嗎,再print一個(gè)什么東東,或者將數(shù)值用str先轉(zhuǎn)字符串才能與純正的字符串連接起來,而字符串的format方法,配合print相當(dāng)于C語言的printf,同時(shí)python的format用{0},{1}...代表后面的第0、1……參數(shù)。{0:.2f}代表這個(gè)參數(shù)以保留2位小數(shù)的方式輸出。

閱讀全文

版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)

python函數(shù)組求各個(gè)極值的問題

你把遍歷的結(jié)果放到一個(gè)列表里面,便利結(jié)束后求列表里的最大值就行了

ls=[]

for?i?in?range(xxx):

ls.append(func)

max_value?=?max(ls)

Python如何使用sd()函數(shù)求數(shù)據(jù)的標(biāo)準(zhǔn)差

python的求

標(biāo)準(zhǔn)差

的函數(shù)是std,是numpy庫的成員,

如果非要

用sd函數(shù)求標(biāo)準(zhǔn)差,也不是不行(from

numpy

import

std

as

sd)。其參數(shù)是所需求標(biāo)準(zhǔn)差的矩陣或列表,

返回值

即標(biāo)準(zhǔn)差。示范如下:

import

numpy

as

np;

from

numpy

import

std

as

sd;

print([1,

2,3],"的標(biāo)準(zhǔn)差是);

print(sd([1,2,3]));

用python求解函數(shù)的極值,求實(shí)現(xiàn)代碼

python有個(gè)符號(hào)計(jì)算的庫叫sympy,可以直接用這個(gè)庫求導(dǎo)數(shù)然后解導(dǎo)數(shù)=0的方程,參考代碼如下:

from sympy import *

x = symbols('x')

y = (x-3)**2+2*sin(x)-3*x+1

eq = diff(y, x)

solve(eq, x)

網(wǎng)頁題目:Python求極差的函數(shù) 計(jì)算極差的函數(shù)
URL網(wǎng)址:http://jinyejixie.com/article18/dodocdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、App設(shè)計(jì)網(wǎng)站制作、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
德庆县| 施秉县| 长泰县| 古蔺县| 五原县| 巫山县| 平邑县| 阜新市| 岚皋县| 社旗县| 闻喜县| 洛川县| 正蓝旗| 汉源县| 平乡县| 兴业县| 海林市| 金阳县| 城步| 武功县| 黎城县| 响水县| 门源| 于都县| 江门市| 洪雅县| 开阳县| 温宿县| 荔波县| 城口县| 广南县| 玉林市| 蓬莱市| 孝昌县| 明水县| 盘锦市| 广南县| 冷水江市| 峨边| 察隅县| 海安县|