欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python函數(shù)標準差,python求標準差的代碼

python基礎(chǔ)2:隨機數(shù)生成—random模塊、numpy中的random函數(shù)

在Python中可以用于隨機數(shù)生成的有兩種主要途徑,一是random模塊,另一個是numpy庫中random函數(shù)。

成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站制作、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)城子河,十載網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

在我們?nèi)粘J褂弥校绻菫榱说玫诫S機的單個數(shù),多考慮random模塊;如果是為了得到隨機小數(shù)或者整數(shù)的矩陣,就多考慮numpy中的random函數(shù),當然numpy也可以的到隨機的單個數(shù)

一、random模塊

二、numpy庫中random函數(shù)

random模塊中將近有7個函數(shù)都是可以用來生成隨機數(shù)的:

作用:隨機生成一個 [0,1) 的浮點數(shù)

作用:隨機生成一個 [a,b) 的浮點數(shù)

作用:隨機生成一個 [a,b] 的整數(shù)

作用:從列表,元組,字符串、集合(可用于for循環(huán)的數(shù)據(jù)類型)中隨機選擇一個元素

作用:在生成的以a為始,每step遞增,以b為終這樣的一個整數(shù)序列中隨機選擇一個數(shù)

作用:打亂一個列表的元素順序

從序列population中隨機取出k個數(shù);population的類型可以是列表、元組、集合、字符串;

在Numpy庫中,常用使用np.random.rand()、np.random.randn()和np.random.randint()隨機函數(shù)。

作用:返回一個或一組服從標準正態(tài)分布的隨機樣本值

備注:標準正態(tài)分布是以0為均數(shù)、以1為標準差的正態(tài)分布,記為N(0,1)。對應(yīng)的正態(tài)分布曲線如下所示,即

作用:使用方法與np.random.randn()函數(shù)相同 ,通過本函數(shù)可以返回一個或一組服從“0~1”均勻分布的隨機樣本值。隨機樣本取值范圍是[0,1),不包括1

numpy.random.randint(low, high=None, size=None, dtype='l')

輸入:

low—–為最小值

high—-為最大值

size—–為數(shù)組維度大小

dtype—為數(shù)據(jù)類型,默認的數(shù)據(jù)類型是np.int。

作用: 返回隨機整數(shù)或整型數(shù)組,范圍區(qū)間為[low,high),包含low,不包含high; high沒有填寫時,默認生成隨機數(shù)的范圍是[0,low

np.random.random([size])

作用:生成[0,1)之間的浮點數(shù),與np.random.rand()功能類似

np.random.choice(a,[ size, replace, p])

參考文檔1: 【python】numpy之random庫簡單的隨機數(shù)據(jù)生成.rand()、.randint()、.randn()、.random()等(一)

參考文檔2: Python中隨機數(shù)的生成

參考文檔3: numpy.random模塊常用函數(shù)

終于寫完了,我以為它很簡單的………………預(yù)計1小時,結(jié)果寫了2.5小時

python數(shù)據(jù)統(tǒng)計分析

1. 常用函數(shù)庫

? scipy包中的stats模塊和statsmodels包是python常用的數(shù)據(jù)分析工具,scipy.stats以前有一個models子模塊,后來被移除了。這個模塊被重寫并成為了現(xiàn)在獨立的statsmodels包。

?scipy的stats包含一些比較基本的工具,比如:t檢驗,正態(tài)性檢驗,卡方檢驗之類,statsmodels提供了更為系統(tǒng)的統(tǒng)計模型,包括線性模型,時序分析,還包含數(shù)據(jù)集,做圖工具等等。

2. 小樣本數(shù)據(jù)的正態(tài)性檢驗

(1) 用途

?夏皮羅維爾克檢驗法 (Shapiro-Wilk) 用于檢驗參數(shù)提供的一組小樣本數(shù)據(jù)線是否符合正態(tài)分布,統(tǒng)計量越大則表示數(shù)據(jù)越符合正態(tài)分布,但是在非正態(tài)分布的小樣本數(shù)據(jù)中也經(jīng)常會出現(xiàn)較大的W值。需要查表來估計其概率。由于原假設(shè)是其符合正態(tài)分布,所以當P值小于指定顯著水平時表示其不符合正態(tài)分布。

?正態(tài)性檢驗是數(shù)據(jù)分析的第一步,數(shù)據(jù)是否符合正態(tài)性決定了后續(xù)使用不同的分析和預(yù)測方法,當數(shù)據(jù)不符合正態(tài)性分布時,我們可以通過不同的轉(zhuǎn)換方法把非正太態(tài)數(shù)據(jù)轉(zhuǎn)換成正態(tài)分布后再使用相應(yīng)的統(tǒng)計方法進行下一步操作。

(2) 示例

(3) 結(jié)果分析

?返回結(jié)果 p-value=0.029035290703177452,比指定的顯著水平(一般為5%)小,則拒絕假設(shè):x不服從正態(tài)分布。

3. 檢驗樣本是否服務(wù)某一分布

(1) 用途

?科爾莫戈羅夫檢驗(Kolmogorov-Smirnov test),檢驗樣本數(shù)據(jù)是否服從某一分布,僅適用于連續(xù)分布的檢驗。下例中用它檢驗正態(tài)分布。

(2) 示例

(3) 結(jié)果分析

?生成300個服從N(0,1)標準正態(tài)分布的隨機數(shù),在使用k-s檢驗該數(shù)據(jù)是否服從正態(tài)分布,提出假設(shè):x從正態(tài)分布。最終返回的結(jié)果,p-value=0.9260909172362317,比指定的顯著水平(一般為5%)大,則我們不能拒絕假設(shè):x服從正態(tài)分布。這并不是說x服從正態(tài)分布一定是正確的,而是說沒有充分的證據(jù)證明x不服從正態(tài)分布。因此我們的假設(shè)被接受,認為x服從正態(tài)分布。如果p-value小于我們指定的顯著性水平,則我們可以肯定地拒絕提出的假設(shè),認為x肯定不服從正態(tài)分布,這個拒絕是絕對正確的。

4.方差齊性檢驗

(1) 用途

?方差反映了一組數(shù)據(jù)與其平均值的偏離程度,方差齊性檢驗用以檢驗兩組或多組數(shù)據(jù)與其平均值偏離程度是否存在差異,也是很多檢驗和算法的先決條件。

(2) 示例

(3) 結(jié)果分析

?返回結(jié)果 p-value=0.19337536323599344, 比指定的顯著水平(假設(shè)為5%)大,認為兩組數(shù)據(jù)具有方差齊性。

5. 圖形描述相關(guān)性

(1) 用途

?最常用的兩變量相關(guān)性分析,是用作圖描述相關(guān)性,圖的橫軸是一個變量,縱軸是另一變量,畫散點圖,從圖中可以直觀地看到相關(guān)性的方向和強弱,線性正相關(guān)一般形成由左下到右上的圖形;負面相關(guān)則是從左上到右下的圖形,還有一些非線性相關(guān)也能從圖中觀察到。

(2) 示例

(3) 結(jié)果分析

?從圖中可以看到明顯的正相關(guān)趨勢。

6. 正態(tài)資料的相關(guān)分析

(1) 用途

?皮爾森相關(guān)系數(shù)(Pearson correlation coefficient)是反應(yīng)兩變量之間線性相關(guān)程度的統(tǒng)計量,用它來分析正態(tài)分布的兩個連續(xù)型變量之間的相關(guān)性。常用于分析自變量之間,以及自變量和因變量之間的相關(guān)性。

(2) 示例

(3) 結(jié)果分析

?返回結(jié)果的第一個值為相關(guān)系數(shù)表示線性相關(guān)程度,其取值范圍在[-1,1],絕對值越接近1,說明兩個變量的相關(guān)性越強,絕對值越接近0說明兩個變量的相關(guān)性越差。當兩個變量完全不相關(guān)時相關(guān)系數(shù)為0。第二個值為p-value,統(tǒng)計學上,一般當p-value0.05時,可以認為兩變量存在相關(guān)性。

7. 非正態(tài)資料的相關(guān)分析

(1) 用途

?斯皮爾曼等級相關(guān)系數(shù)(Spearman’s correlation coefficient for ranked data ),它主要用于評價順序變量間的線性相關(guān)關(guān)系,在計算過程中,只考慮變量值的順序(rank, 值或稱等級),而不考慮變量值的大小。常用于計算類型變量的相關(guān)性。

(2) 示例

(3) 結(jié)果分析

?返回結(jié)果的第一個值為相關(guān)系數(shù)表示線性相關(guān)程度,本例中correlation趨近于1表示正相關(guān)。第二個值為p-value,p-value越小,表示相關(guān)程度越顯著。

8. 單樣本T檢驗

(1) 用途

?單樣本T檢驗,用于檢驗數(shù)據(jù)是否來自一致均值的總體,T檢驗主要是以均值為核心的檢驗。注意以下幾種T檢驗都是雙側(cè)T檢驗。

(2) 示例

(3) 結(jié)果分析

?本例中生成了2列100行的數(shù)組,ttest_1samp的第二個參數(shù)是分別對兩列估計的均值,p-value返回結(jié)果,第一列1.47820719e-06比指定的顯著水平(一般為5%)小,認為差異顯著,拒絕假設(shè);第二列2.83088106e-01大于指定顯著水平,不能拒絕假設(shè):服從正態(tài)分布。

9. 兩獨立樣本T檢驗

(1) 用途

?由于比較兩組數(shù)據(jù)是否來自于同一正態(tài)分布的總體。注意:如果要比較的兩組數(shù)據(jù)不滿足方差齊性, 需要在ttest_ind()函數(shù)中添加參數(shù)equal_var = False。

(2) 示例

(3) 結(jié)果分析

?返回結(jié)果的第一個值為統(tǒng)計量,第二個值為p-value,pvalue=0.19313343989106416,比指定的顯著水平(一般為5%)大,不能拒絕假設(shè),兩組數(shù)據(jù)來自于同一總結(jié),兩組數(shù)據(jù)之間無差異。

10. 配對樣本T檢驗

(1) 用途

?配對樣本T檢驗可視為單樣本T檢驗的擴展,檢驗的對象由一群來自正態(tài)分布獨立樣本更改為二群配對樣本觀測值之差。它常用于比較同一受試對象處理的前后差異,或者按照某一條件進行兩兩配對分別給與不同處理的受試對象之間是否存在差異。

(2) 示例

(3) 結(jié)果分析

?返回結(jié)果的第一個值為統(tǒng)計量,第二個值為p-value,pvalue=0.80964043445811551,比指定的顯著水平(一般為5%)大,不能拒絕假設(shè)。

11. 單因素方差分析

(1) 用途

?方差分析(Analysis of Variance,簡稱ANOVA),又稱F檢驗,用于兩個及兩個以上樣本均數(shù)差別的顯著性檢驗。方差分析主要是考慮各組之間的平均數(shù)差別。

?單因素方差分析(One-wayAnova),是檢驗由單一因素影響的多組樣本某因變量的均值是否有顯著差異。

?當因變量Y是數(shù)值型,自變量X是分類值,通常的做法是按X的類別把實例成分幾組,分析Y值在X的不同分組中是否存在差異。

(2) 示例

(3) 結(jié)果分析

?返回結(jié)果的第一個值為統(tǒng)計量,它由組間差異除以組間差異得到,上例中組間差異很大,第二個返回值p-value=6.2231520821576832e-19小于邊界值(一般為0.05),拒絕原假設(shè), 即認為以上三組數(shù)據(jù)存在統(tǒng)計學差異,并不能判斷是哪兩組之間存在差異 。只有兩組數(shù)據(jù)時,效果同 stats.levene 一樣。

12. 多因素方差分析

(1) 用途

?當有兩個或者兩個以上自變量對因變量產(chǎn)生影響時,可以用多因素方差分析的方法來進行分析。它不僅要考慮每個因素的主效應(yīng),還要考慮因素之間的交互效應(yīng)。

(2) 示例

(3) 結(jié)果分析

?上述程序定義了公式,公式中,"~"用于隔離因變量和自變量,”+“用于分隔各個自變量, ":"表示兩個自變量交互影響。從返回結(jié)果的P值可以看出,X1和X2的值組間差異不大,而組合后的T:G的組間有明顯差異。

13. 卡方檢驗

(1) 用途

?上面介紹的T檢驗是參數(shù)檢驗,卡方檢驗是一種非參數(shù)檢驗方法。相對來說,非參數(shù)檢驗對數(shù)據(jù)分布的要求比較寬松,并且也不要求太大數(shù)據(jù)量。卡方檢驗是一種對計數(shù)資料的假設(shè)檢驗方法,主要是比較理論頻數(shù)和實際頻數(shù)的吻合程度。常用于特征選擇,比如,檢驗?zāi)腥撕团嗽谑欠窕加懈哐獕荷嫌袩o區(qū)別,如果有區(qū)別,則說明性別與是否患有高血壓有關(guān),在后續(xù)分析時就需要把性別這個分類變量放入模型訓練。

?基本數(shù)據(jù)有R行C列, 故通稱RC列聯(lián)表(contingency table), 簡稱RC表,它是觀測數(shù)據(jù)按兩個或更多屬性(定性變量)分類時所列出的頻數(shù)表。

(2) 示例

(3) 結(jié)果分析

?卡方檢驗函數(shù)的參數(shù)是列聯(lián)表中的頻數(shù),返回結(jié)果第一個值為統(tǒng)計量值,第二個結(jié)果為p-value值,p-value=0.54543425102570975,比指定的顯著水平(一般5%)大,不能拒絕原假設(shè),即相關(guān)性不顯著。第三個結(jié)果是自由度,第四個結(jié)果的數(shù)組是列聯(lián)表的期望值分布。

14. 單變量統(tǒng)計分析

(1) 用途

?單變量統(tǒng)計描述是數(shù)據(jù)分析中最簡單的形式,其中被分析的數(shù)據(jù)只包含一個變量,不處理原因或關(guān)系。單變量分析的主要目的是通過對數(shù)據(jù)的統(tǒng)計描述了解當前數(shù)據(jù)的基本情況,并找出數(shù)據(jù)的分布模型。

?單變量數(shù)據(jù)統(tǒng)計描述從集中趨勢上看,指標有:均值,中位數(shù),分位數(shù),眾數(shù);從離散程度上看,指標有:極差、四分位數(shù)、方差、標準差、協(xié)方差、變異系數(shù),從分布上看,有偏度,峰度等。需要考慮的還有極大值,極小值(數(shù)值型變量)和頻數(shù),構(gòu)成比(分類或等級變量)。

?此外,還可以用統(tǒng)計圖直觀展示數(shù)據(jù)分布特征,如:柱狀圖、正方圖、箱式圖、頻率多邊形和餅狀圖。

15. 多元線性回歸

(1) 用途

?多元線性回歸模型(multivariable linear regression model ),因變量Y(計量資料)往往受到多個變量X的影響,多元線性回歸模型用于計算各個自變量對因變量的影響程度,可以認為是對多維空間中的點做線性擬合。

(2) 示例

(3) 結(jié)果分析

?直接通過返回結(jié)果中各變量的P值與0.05比較,來判定對應(yīng)的解釋變量的顯著性,P0.05則認為自變量具有統(tǒng)計學意義,從上例中可以看到收入INCOME最有顯著性。

16. 邏輯回歸

(1) 用途

?當因變量Y為2分類變量(或多分類變量時)可以用相應(yīng)的logistic回歸分析各個自變量對因變量的影響程度。

(2) 示例

(3) 結(jié)果分析

?直接通過返回結(jié)果中各變量的P值與0.05比較,來判定對應(yīng)的解釋變量的顯著性,P0.05則認為自變量具有統(tǒng)計學意義。

用python生成隨機數(shù)的幾種方法

1 從給定參數(shù)的正態(tài)分布中生成隨機數(shù)

當考慮從正態(tài)分布中生成隨機數(shù)時,應(yīng)當首先知道正態(tài)分布的均值和方差(標準差),有了這些,就可以調(diào)用python中現(xiàn)有的模塊和函數(shù)來生成隨機數(shù)了。這里調(diào)用了Numpy模塊中的random.normal函數(shù),由于邏輯非參簡單,所有直接貼上代碼如下:

import numpy as np# 定義從正態(tài)分布中獲取隨機數(shù)的函數(shù)def get_normal_random_number(loc, scale): """ :param loc: 正態(tài)分布的均值 :param scale: 正態(tài)分布的標準差 :return:從正態(tài)分布中產(chǎn)生的隨機數(shù) """ # 正態(tài)分布中的隨機數(shù)生成 number = np.random.normal(loc=loc, scale=scale) # 返回值 return number# 主模塊if __name__ == "__main__": # 函數(shù)調(diào)用 n = get_normal_random_number(loc=2, scale=2) # 打印結(jié)果 print(n) # 結(jié)果:3.275192443463058

2 從給定參數(shù)的均勻分布中獲取隨機數(shù)的函數(shù)

考慮從均勻分布中獲取隨機數(shù)的時候,要事先知道均勻分布的下界和上界,然后調(diào)用Numpy模塊的random.uniform函數(shù)生成隨機數(shù)。

import numpy as np# 定義從均勻分布中獲取隨機數(shù)的函數(shù)def get_uniform_random_number(low, high): """ :param low: 均勻分布的下界 :param high: 均勻分布的上界 :return: 從均勻分布中產(chǎn)生的隨機數(shù) """ # 均勻分布的隨機數(shù)生成 number = np.random.uniform(low, high) # 返回值 return number# 主模塊if __name__ == "__main__": # 函數(shù)調(diào)用 n = get_uniform_random_number(low=2, high=4) # 打印結(jié)果 print(n) # 結(jié)果:2.4462417140153114

3 按照指定概率生成隨機數(shù)

有時候我們需要按照指定的概率生成隨機數(shù),比如已知盒子中每種顏色的球的比例,猜測下一次取出的球的顏色。在這里介紹的問題和上面的例子相似,要求給定一個概率列表,從列表對應(yīng)的數(shù)字列表或區(qū)間列表中生成隨機數(shù),分兩部分討論。

3.1 按照指定概率從數(shù)字列表中隨機抽取數(shù)字

假設(shè)給定一個數(shù)字列表和一個與之對應(yīng)的概率列表,兩個列表對應(yīng)位置的元素組成的元組即表示該數(shù)字在數(shù)字列表中以多大的概率出現(xiàn),那么如何根據(jù)這些已知條件從數(shù)字列表中按概率抽取隨機數(shù)呢?在這里我們考慮用均勻分布來模擬概率,代碼如下:

import numpy as npimport random# 定義從均勻分布中獲取隨機數(shù)的函數(shù)def get_uniform_random_number(low, high): """ :param low: 均勻分布的下界 :param high: 均勻分布的上界 :return: 從均勻分布中產(chǎn)生的隨機數(shù) """ # 均勻分布的隨機數(shù)生成 number = np.random.uniform(low, high) # 返回值 return number# 定義從一個數(shù)字列表中以一定的概率取出對應(yīng)區(qū)間中數(shù)字的函數(shù)def get_number_by_pro(number_list, pro_list): """ :param number_list:數(shù)字列表 :param pro_list:數(shù)字對應(yīng)的概率列表 :return:按概率從數(shù)字列表中抽取的數(shù)字 """ # 用均勻分布中的樣本值來模擬概率 x = random.uniform(0, 1) # 累積概率 cum_pro = 0.0 # 將可迭代對象打包成元組列表 for number, number_pro in zip(number_list, pro_list): cum_pro += number_pro if x cum_pro: # 返回值 return number# 主模塊if __name__ == "__main__": # 數(shù)字列表 num_list = [1, 2, 3, 4, 5] # 對應(yīng)的概率列表 pr_list = [0.1, 0.3, 0.1, 0.4, 0.1] # 函數(shù)調(diào)用 n = get_number_by_pro(number_list=num_list, pro_list=pr_list) # 打印結(jié)果 print(n) # 結(jié)果:1

3.2 按照指定概率從區(qū)間列表中的某個區(qū)間內(nèi)生成隨機數(shù)

給定一個區(qū)間列表和一個與之對應(yīng)的概率列表,兩個列表相應(yīng)位置的元素組成的元組即表示某數(shù)字出現(xiàn)在某區(qū)間內(nèi)的概率是多少,已知這些,我們?nèi)绾紊呻S機數(shù)呢?這里我們通過兩次使用均勻分布達到目的,代碼如下:

import numpy as npimport random# 定義從均勻分布中獲取隨機數(shù)的函數(shù)def get_uniform_random_number(low, high): """ :param low: 均勻分布的下界 :param high: 均勻分布的上界 :return: 從均勻分布中產(chǎn)生的隨機數(shù) """ # 均勻分布的隨機數(shù)生成 number = np.random.uniform(low, high) # 返回值 return number# 定義從一個數(shù)字列表中以一定的概率取出對應(yīng)區(qū)間中數(shù)字的函數(shù)def get_number_by_pro(number_list, pro_list): """ :param number_list:數(shù)字列表 :param pro_list:數(shù)字對應(yīng)的概率列表 :return:按概率從數(shù)字列表中抽取的數(shù)字 """ # 用均勻分布中的樣本值來模擬概率 x = random.uniform(0, 1) # 累積概率 cum_pro = 0.0 # 將可迭代對象打包成元組列表 for number, number_pro in zip(number_list, pro_list): cum_pro += number_pro if x cum_pro: # 從區(qū)間[number. number - 1]上隨機抽取一個值 num = get_uniform_random_number(number, number - 1) # 返回值 return num# 主模塊if __name__ == "__main__": # 數(shù)字列表 num_list = [1, 2, 3, 4, 5] # 對應(yīng)的概率列表 pr_list = [0.1, 0.3, 0.1, 0.4, 0.1] # 函數(shù)調(diào)用 n = get_number_by_pro(number_list=num_list, pro_list=pr_list) # 打印結(jié)果 print(n) # 結(jié)果:3.49683787011193

統(tǒng)計學入門級:常見概率分布+python繪制分布圖

如果隨機變量X的所有取值都可以逐個列舉出來,則稱X為離散型隨機變量。相應(yīng)的概率分布有二項分布,泊松分布。

如果隨機變量X的所有取值無法逐個列舉出來,而是取數(shù)軸上某一區(qū)間內(nèi)的任一點,則稱X為連續(xù)型隨機變量。相應(yīng)的概率分布有正態(tài)分布,均勻分布,指數(shù)分布,伽馬分布,偏態(tài)分布,卡方分布,beta分布等。(真多分布,好恐怖~~)

在離散型隨機變量X的一切可能值中,各可能值與其對應(yīng)概率的乘積之和稱為該隨機變量X的期望值,記作E(X) 。比如有隨機變量,取值依次為:2,2,2,4,5。求其平均值:(2+2+2+4+5)/5 = 3。

期望值也就是該隨機變量總體的均值。 推導過程如下:

= (2+2+2+4+5)/5

= 1/5 2 3 + 4/5 + 5/5

= 3/5 2 + 1/5 4 + 1/5 5

= 0.6 2 + 0.2 4 + 0.2 5

= 60% 2 + 20% 4 + 20%*5

= 1.2 + 0.8 + 1

= 3

倒數(shù)第三步可以解釋為值為2的數(shù)字出現(xiàn)的概率為60%,4的概率為20%,5的概率為20%。 所以E(X) = 60% 2 + 20% 4 + 20%*5 = μ = 3。

0-1分布(兩點分布),它的隨機變量的取值為1或0。即離散型隨機變量X的概率分布為:P{X=0} = 1-p, P{X=1} = p,即:

則稱隨機變量X服從參數(shù)為p的0-1分布,記作X~B(1,p)。

在生活中有很多例子服從兩點分布,比如投資是否中標,新生嬰兒是男孩還是女孩,檢查產(chǎn)品是否合格等等。

大家非常熟悉的拋硬幣試驗對應(yīng)的分布就是二項分布。拋硬幣試驗要么出現(xiàn)正面,要么就是反面,只包含這兩個結(jié)果。出現(xiàn)正面的次數(shù)是一個隨機變量,這種隨機變量所服從的概率分布通常稱為 二項分布 。

像拋硬幣這類試驗所具有的共同性質(zhì)總結(jié)如下:(以拋硬幣為例)

通常稱具有上述特征的n次重復獨立試驗為n重伯努利試驗。簡稱伯努利試驗或伯努利試驗概型。特別地,當試驗次數(shù)為1時,二項分布服從0-1分布(兩點分布)。

舉個栗子:拋3次均勻的硬幣,求結(jié)果出現(xiàn)有2個正面的概率 。

已知p = 0.5 (出現(xiàn)正面的概率) ,n = 3 ,k = 2

所以拋3次均勻的硬幣,求結(jié)果出現(xiàn)有2個正面的概率為3/8。

二項分布的期望值和方差 分別為:

泊松分布是用來描述在一 指定時間范圍內(nèi)或在指定的面積或體積之內(nèi)某一事件出現(xiàn)的次數(shù)的分布 。生活中服從泊松分布的例子比如有每天房產(chǎn)中介接待的客戶數(shù),某微博每月出現(xiàn)服務(wù)器癱瘓的次數(shù)等等。 泊松分布的公式為 :

其中 λ 為給定的時間間隔內(nèi)事件的平均數(shù),λ = np。e為一個數(shù)學常數(shù),一個無限不循環(huán)小數(shù),其值約為2.71828。

泊松分布的期望值和方差 分別為:

使用Python繪制泊松分布的概率分布圖:

因為連續(xù)型隨機變量可以取某一區(qū)間或整個實數(shù)軸上的任意一個值,所以通常用一個函數(shù)f(x)來表示連續(xù)型隨機變量,而f(x)就稱為 概率密度函數(shù) 。

概率密度函數(shù)f(x)具有如下性質(zhì) :

需要注意的是,f(x)不是一個概率,即f(x) ≠ P(X = x) 。在連續(xù)分布的情況下,隨機變量X在a與b之間的概率可以寫成:

正態(tài)分布(或高斯分布)是連續(xù)型隨機變量的最重要也是最常見的分布,比如學生的考試成績就呈現(xiàn)出正態(tài)分布的特征,大部分成績集中在某個范圍(比如60-80分),很小一部分往兩端傾斜(比如50分以下和90多分以上)。還有人的身高等等。

正態(tài)分布的定義 :

如果隨機變量X的概率密度為( -∞x+∞):

則稱X服從正態(tài)分布,記作X~N(μ,σ2)。其中-∞μ+∞,σ0, μ為隨機變量X的均值,σ為隨機變量X的標準差。 正態(tài)分布的分布函數(shù)

正態(tài)分布的圖形特點 :

使用Python繪制正態(tài)分布的概率分布圖:

正態(tài)分布有一個3σ準則,即數(shù)值分布在(μ-σ,μ+σ)中的概率為0.6827,分布在(μ-2σ,μ+2σ)中的概率為0.9545,分布在(μ-3σ,μ+3σ)中的概率為0.9973,也就是說大部分數(shù)值是分布在(μ-3σ,μ+3σ)區(qū)間內(nèi),超出這個范圍的可能性很小很小,僅占不到0.3%,屬于極個別的小概率事件,所以3σ準則可以用來檢測異常值。

當μ=0,σ=1時,有

此時的正態(tài)分布N(0,1) 稱為標準正態(tài)分布。因為μ,σ都是確定的取值,所以其對應(yīng)的概率密度曲線是一條 形態(tài)固定 的曲線。

對標準正態(tài)分布,通常用φ(x)表示概率密度函數(shù),用Φ(x)表示分布函數(shù):

假設(shè)有一次物理考試特別難,滿分100分,全班只有大概20個人及格。與此同時語文考試很簡單,全班絕大部分都考了90分以上。小明的物理和語文分別考了60分和80分,他回家后告訴家長,這時家長能僅僅從兩科科目的分值直接判斷出這次小明的語文成績要比物理好很多嗎?如果不能,應(yīng)該如何判斷呢?此時Z-score就派上用場了。 Z-Score的計算定義 :

即 將隨機變量X先減去總體樣本均值,再除以總體樣本標準差就得到標準分數(shù)啦。如果X低于平均值,則Z為負數(shù),反之為正數(shù) 。通過計算標準分數(shù),可以將任何一個一般的正態(tài)分布轉(zhuǎn)化為標準正態(tài)分布。

小明家長從老師那得知物理的全班平均成績?yōu)?0分,標準差為10,而語文的平均成績?yōu)?2分,標準差為4。分別計算兩科成績的標準分數(shù):

物理:標準分數(shù) = (60-40)/10 = 2

語文:標準分數(shù) = (85-95)/4 = -2.5

從計算結(jié)果來看,說明這次考試小明的物理成績在全部同學中算是考得很不錯的,而語文考得很差。

指數(shù)分布可能容易和前面的泊松分布混淆,泊松分布強調(diào)的是某段時間內(nèi)隨機事件發(fā)生的次數(shù)的概率分布,而指數(shù)分布說的是 隨機事件發(fā)生的時間間隔 的概率分布。比如一班地鐵進站的間隔時間。如果隨機變量X的概率密度為:

則稱X服從指數(shù)分布,其中的參數(shù)λ0。 對應(yīng)的分布函數(shù) 為:

均勻分布的期望值和方差 分別為:

使用Python繪制指數(shù)分布的概率分布圖:

均勻分布有兩種,分為 離散型均勻分布和連續(xù)型均勻分布 。其中離散型均勻分布最常見的例子就是拋擲骰子啦。拋擲骰子出現(xiàn)的點數(shù)就是一個離散型隨機變量,點數(shù)可能有1,2,3,4,5,6。每個數(shù)出現(xiàn)的概率都是1/6。

設(shè)連續(xù)型隨機變量X具有概率密度函數(shù):

則稱X服從區(qū)間(a,b)上的均勻分布。X在等長度的子區(qū)間內(nèi)取值的概率相同。對應(yīng)的分布函數(shù)為:

f(x)和F(x)的圖形分別如下圖所示:

均勻分布的期望值和方差 分別為:

Python pandas用法

在Python中,pandas是基于NumPy數(shù)組構(gòu)建的,使數(shù)據(jù)預(yù)處理、清洗、分析工作變得更快更簡單。pandas是專門為處理表格和混雜數(shù)據(jù)設(shè)計的,而NumPy更適合處理統(tǒng)一的數(shù)值數(shù)組數(shù)據(jù)。

使用下面格式約定,引入pandas包:

pandas有兩個主要數(shù)據(jù)結(jié)構(gòu):Series和DataFrame。

Series是一種類似于一維數(shù)組的對象,它由 一組數(shù)據(jù) (各種NumPy數(shù)據(jù)類型)以及一組與之相關(guān)的 數(shù)據(jù)標簽(即索引) 組成,即index和values兩部分,可以通過索引的方式選取Series中的單個或一組值。

pd.Series(list,index=[ ]) ,第二個參數(shù)是Series中數(shù)據(jù)的索引,可以省略。

Series類型索引、切片、運算的操作類似于ndarray,同樣的類似Python字典類型的操作,包括保留字in操作、使用.get()方法。

Series和ndarray之間的主要區(qū)別在于Series之間的操作會根據(jù)索引自動對齊數(shù)據(jù)。

DataFrame是一個表格型的數(shù)據(jù)類型,每列值類型可以不同,是最常用的pandas對象。DataFrame既有行索引也有列索引,它可以被看做由Series組成的字典(共用同一個索引)。DataFrame中的數(shù)據(jù)是以一個或多個二維塊存放的(而不是列表、字典或別的一維數(shù)據(jù)結(jié)構(gòu))。

pd.DataFrame(data,columns = [ ],index = [ ]) :columns和index為指定的列、行索引,并按照順序排列。

如果創(chuàng)建時指定了columns和index索引,則按照索引順序排列,并且如果傳入的列在數(shù)據(jù)中找不到,就會在結(jié)果中產(chǎn)生缺失值:

數(shù)據(jù)索引 :Series和DataFrame的索引是Index類型,Index對象是不可修改,可通過索引值或索引標簽獲取目標數(shù)據(jù),也可通過索引使序列或數(shù)據(jù)框的計算、操作實現(xiàn)自動化對齊。索引類型index的常用方法:

重新索引 :能夠改變、重排Series和DataFrame索引,會創(chuàng)建一個新對象,如果某個索引值當前不存在,就引入缺失值。

df.reindex(index, columns ,fill_value, method, limit, copy ) :index/columns為新的行列自定義索引;fill_value為用于填充缺失位置的值;method為填充方法,ffill當前值向前填充,bfill向后填充;limit為最大填充量;copy 默認True,生成新的對象,F(xiàn)alse時,新舊相等不復制。

刪除指定索引 :默認返回的是一個新對象。

.drop() :能夠刪除Series和DataFrame指定行或列索引。

刪除一行或者一列時,用單引號指定索引,刪除多行時用列表指定索引。

如果刪除的是列索引,需要增加axis=1或axis='columns'作為參數(shù)。

增加inplace=True作為參數(shù),可以就地修改對象,不會返回新的對象。

在pandas中,有多個方法可以選取和重新組合數(shù)據(jù)。對于DataFrame,表5-4進行了總結(jié)

適用于Series和DataFrame的基本統(tǒng)計分析函數(shù) :傳入axis='columns'或axis=1將會按行進行運算。

.describe() :針對各列的多個統(tǒng)計匯總,用統(tǒng)計學指標快速描述數(shù)據(jù)的概要。

.sum() :計算各列數(shù)據(jù)的和

.count() :非NaN值的數(shù)量

.mean( )/.median() :計算數(shù)據(jù)的算術(shù)平均值、算術(shù)中位數(shù)

.var()/.std() :計算數(shù)據(jù)的方差、標準差

.corr()/.cov() :計算相關(guān)系數(shù)矩陣、協(xié)方差矩陣,是通過參數(shù)對計算出來的。Series的corr方法用于計算兩個Series中重疊的、非NA的、按索引對齊的值的相關(guān)系數(shù)。DataFrame的corr和cov方法將以DataFrame的形式分別返回完整的相關(guān)系數(shù)或協(xié)方差矩陣。

.corrwith() :利用DataFrame的corrwith方法,可以計算其列或行跟另一個Series或DataFrame之間的相關(guān)系數(shù)。傳入一個Series將會返回一個相關(guān)系數(shù)值Series(針對各列進行計算),傳入一個DataFrame則會計算按列名配對的相關(guān)系數(shù)。

.min()/.max() :計算數(shù)據(jù)的最小值、最大值

.diff() :計算一階差分,對時間序列很有效

.mode() :計算眾數(shù),返回頻數(shù)最高的那(幾)個

.mean() :計算均值

.quantile() :計算分位數(shù)(0到1)

.isin() :用于判斷矢量化集合的成員資格,可用于過濾Series中或DataFrame列中數(shù)據(jù)的子集

適用于Series的基本統(tǒng)計分析函數(shù),DataFrame[列名]返回的是一個Series類型。

.unique() :返回一個Series中的唯一值組成的數(shù)組。

.value_counts() :計算一個Series中各值出現(xiàn)的頻率。

.argmin()/.argmax() :計算數(shù)據(jù)最大值、最小值所在位置的索引位置(自動索引)

.idxmin()/.idxmax() :計算數(shù)據(jù)最大值、最小值所在位置的索引(自定義索引)

pandas提供了一些用于將表格型數(shù)據(jù)讀取為DataFrame對象的函數(shù)。下表對它們進行了總結(jié),其中read_csv()、read_table()、to_csv()是用得最多的。

在數(shù)據(jù)分析和建模的過程中,相當多的時間要用在數(shù)據(jù)準備上:加載、清理、轉(zhuǎn)換以及重塑。

在許多數(shù)據(jù)分析工作中,缺失數(shù)據(jù)是經(jīng)常發(fā)生的。對于數(shù)值數(shù)據(jù),pandas使用浮點值NaN(np.nan)表示缺失數(shù)據(jù),也可將缺失值表示為NA(Python內(nèi)置的None值)。

替換值

.replace(old, new) :用新的數(shù)據(jù)替換老的數(shù)據(jù),如果希望一次性替換多個值,old和new可以是列表。默認會返回一個新的對象,傳入inplace=True可以對現(xiàn)有對象進行就地修改。

刪除重復數(shù)據(jù)

利用函數(shù)或字典進行數(shù)據(jù)轉(zhuǎn)換

df.head():查詢數(shù)據(jù)的前五行

df.tail():查詢數(shù)據(jù)的末尾5行

pandas.cut()

pandas.qcut() 基于分位數(shù)的離散化函數(shù)。基于秩或基于樣本分位數(shù)將變量離散化為等大小桶。

pandas.date_range() 返回一個時間索引

df.apply() 沿相應(yīng)軸應(yīng)用函數(shù)

Series.value_counts() 返回不同數(shù)據(jù)的計數(shù)值

df.aggregate()

df.reset_index() 重新設(shè)置index,參數(shù)drop = True時會丟棄原來的索引,設(shè)置新的從0開始的索引。常與groupby()一起用

numpy.zeros()

Python 數(shù)據(jù)處理(三十九)—— groupby(過濾)

filter 方法可以返回原始對象的子集.

例如,我們想提取分組內(nèi)的和大于 3 的所有分組的元素

filter 的參數(shù)必須是一個函數(shù),函數(shù)參數(shù)是每個分組,并且返回 True 或 False

例如,提取元素個數(shù)大于 2 的分組

另外,我們也可以過濾掉不滿足條件的組,而是返回一個類似索引對象。在這個對象中,沒有通過的分組的元素被 NaN 填充

對于具有多列的 DataFrames ,過濾器應(yīng)明確指定一列作為過濾條件

在進行聚合或轉(zhuǎn)換時,你可能想對每個分組調(diào)用一個實例方法,例如

但是,如果需要傳遞額外的參數(shù)時,它會變得很冗長。我們可以直接使用分派到組對象上的方法

實際上這生成了一個函數(shù)包裝器,在調(diào)用時,它接受所有傳遞的參數(shù),并在每個分組上進行調(diào)用。

然后,這個結(jié)果可以和 agg 和 transform 結(jié)合在一起使用

在上面的例子中,我們按照年份分組,然后對每個分組中使用 fillna 補缺失值

nlargest 和 nsmallest 可以在 Series 類型的 groupby 上使用

對分組數(shù)據(jù)的某些操作可能并不適合聚合或轉(zhuǎn)換。或者說,你可能只是想讓 GroupBy 來推斷如何合并結(jié)果

我們可以使用 apply 函數(shù),例如

改變返回結(jié)果的維度

在 Series 上使用 apply 類似

對于之前的示例數(shù)據(jù)

假設(shè),我們想按 A 分組并計算組內(nèi)的標準差,但是 B 列的數(shù)據(jù)我們并不關(guān)心。

如果我們的函數(shù)不能應(yīng)用于某些列,則會隱式的刪除這些列,所以

直接計算標準差并不會報錯

可以使用分類變量進行分組,分組的順序會按照分類變量的順序

可以使用 pd.Grouper 控制分組,對于如下數(shù)據(jù)

可以按照一定的頻率對特定列進行分組,就像重抽樣一樣

可以分別對列或索引進行分組

類似于 Series 和 DataFrame ,可以使用 head 和 tail 獲取分組前后幾行

在 Series 或 DataFrame 中可以使用 nth() 來獲取第 n 個元素,也可以用于獲取每個分組的某一行

如果你要選擇非空項,可以使用關(guān)鍵字參數(shù) dropna ,如果是 DataFrame ,需要指定為 any 或 all (類似于 DataFrame.dropna(how='any|all') )

與其他方法一樣,使用 as_index=False 分組名將不會作為索引

你也可以傳入一個整數(shù)列表,一次性選取多行

使用 cumcount 方法,可以查看每行在分組中出現(xiàn)的順序

可以使用 ngroup() 查看分組的順序,該順序與 cumcount 的順序相反。

注意 :該順序與迭代時的分組順序一樣,并不是第一次觀測到的順序

新聞標題:python函數(shù)標準差,python求標準差的代碼
本文網(wǎng)址:http://www.chinadenli.net/article48/dsgephp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷企業(yè)建站企業(yè)網(wǎng)站制作軟件開發(fā)網(wǎng)站設(shè)計公司建站公司

廣告

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

h5響應(yīng)式網(wǎng)站建設(shè)