Python 中的 numpy 包 和 pandas 包都能夠計算均值、方差等,本文總結一下它們的用法。
#1. Numpy 計算均值、方差、標準差
一般的均值可以用 numpy 中的 mean 方法求得:
>>> import numpy as np
>>> a = [5, 6, 16, 9]
>>> np.mean(a)
9.0
numpy 中的 average 方法不僅能求得簡單平均數(shù),也可以求出加權平均數(shù)。average 里面可以跟一個 weights 參數(shù),里面是一個權數(shù)的數(shù)組,例如:
>>> np.average(a)
>>> 9.0
>>> np.average(a, weights = [1, 2, 1, 1])
>>> 8.4
計算方差時,可以利用 numpy 中的 var 函數(shù),默認是總體方差(計算時除以樣本數(shù) N),若需要得到樣本方差(計算時除以 N - 1),需要跟參數(shù) ddo f= 1,例如
>>> import pnumpy as np
>>> a = [5, 6, 16, 9]
>>> np.var(a) # 計算總體方差
18.5
>>> np.var(a, ddof = 1) # 計算樣本方差
24.666666666666668
>>> b = [[4, 5], [6, 7]]
>>> b
[[4, 5], [6, 7]]
>>> np.var(b) # 計算矩陣所有元素的方差
1.25
>>> np.var(b, axis = 0) # 計算矩陣每一列的方差
array([1., 1.])
>>> np.var(b, axis = 1) # 計算矩陣每一行的方差
array([0.25, 0.25])
計算標準差時,可以利用 numpy 中的 std 函數(shù),使用方法與 var 函數(shù)很像,默認是總體標準差,若需要得到樣本標準差,需要跟參數(shù) ddof =1,
>>> import pnumpy as np
>>> a = [5, 6, 16, 9]
>>> np.std(a) # 計算總體標準差
4.301162633521313
>>> np.std(a, ddof = 1 ) # 計算樣本標準差
4.96655480858378
>>> np.std(b) # 計算矩陣所有元素的標準差
1.118033988749895
>>> np.std(b, axis = 0) # 計算矩陣每一列的標準差
array([1., 1.])
>>> np.std(b, axis = 1) # 計算矩陣每一列的標準差
array([0.5, 0.5])
#2. Pandas 計算均值、方差、標準差
對于 pandas ,也可以用里面的 mean 函數(shù)可以求得所有行或所有列的平均數(shù),例如:
>>> import pandas as pd
>>> df = pd.DataFrame(np.array([[85, 68, 90], [82, 63, 88], [84, 90, 78]]), columns=['統(tǒng)計學', '高數(shù)', '英語'], index=['張三', '李四', '王五'])
>>> df
統(tǒng)計學 高數(shù) 英語
張三 85 68 90
李四 82 63 88
王五 84 90 78
>>> df.mean() # 顯示每一列的平均數(shù)
統(tǒng)計學 83.666667
高數(shù) 73.666667
英語 85.333333
dtype: float64
>>> df.mean(axis = 1) # 顯示每一行的平均數(shù)
張三 81.000000
李四 77.666667
王五 84.000000
dtype: float64
若要得到某一行或某一列的平均值,則可以使用 iloc 選取改行或該列數(shù)據(jù),后面跟 mean 函數(shù)就能得到,例如:
>>> df
統(tǒng)計學 高數(shù) 英語
張三 85 68 90
李四 82 63 88
王五 84 90 78
>>> df.iloc[0, :].mean() # 得到第 1 行的平均值
81.0
>>> df.iloc[:, 2].mean() # 得到第 3 列的平均值
85.33333333333333
pandas 中的 var 函數(shù)可以得到樣本方差(注意不是總體方差),std 函數(shù)可以得到樣本標準差,若要得到某一行或某一列的方差,則也可用 iloc 選取某行或某列,后面再跟 var 函數(shù)或 std 函數(shù)即可,例如:
>>> df.var() # 顯示每一列的方差
統(tǒng)計學 2.333333
高數(shù) 206.333333
英語 41.333333
dtype: float64
>>> df.var(axis = 1) # 顯示每一行的方差
張三 133.000000
李四 170.333333
王五 36.000000
dtype: float64
>>> df.std() # 顯示每一列的標準差
統(tǒng)計學 1.527525
高數(shù) 14.364308
英語 6.429101
dtype: float64
>>> df.std(axis = 1) # 顯示每一行的標準差
張三 11.532563
李四 13.051181
王五 6.000000
dtype: float64
>>> df.iloc[0, :].std() # 顯示第 1 行的標準差
11.532562594670797
>>> df.iloc[:, 2].std() # 顯示第 3 列的標準差
6.429100507328636
題外話
在此疾速成長的科技元年,編程就像是許多人通往無限可能世界的門票。而在編程語言的明星陣容中,Python就像是那位獨領風 騷的超級巨星, 以其簡潔易懂的語法和強大的功能,脫穎而出,成為全球最炙手可熱的編程語言之一。
Python 的迅速崛起對整個行業(yè)來說都是極其有利的 ,但“人紅是非多
”,導致它平添了許許多多的批評,不過依舊擋不住它火爆的發(fā)展勢頭。
如果你對Python感興趣,想要學習pyhton,這里給大家分享一份Python全套學習資料,都是我自己學習時整理的,希望可以幫到你,一起加油!
??有需要的小伙伴,可以點擊下方鏈接免費領取或者V掃描下方二維碼免費領取??
??CSDN大禮包??:全網(wǎng)最全《Python學習資料》免費分享(安全鏈接,放心點擊)??
?
1??零基礎入門
① 學習路線
對于從來沒有接觸過Python的同學,我們幫你準備了詳細的學習成長路線圖。可以說是最科學最系統(tǒng)的學習路線,你可以按照上面的知識點去找對應的學習資源,保證自己學得較為全面。
② 路線對應學習視頻
還有很多適合0基礎入門的學習視頻,有了這些視頻,輕輕松松上手Python~
③練習題
每節(jié)視頻課后,都有對應的練習題哦,可以檢驗學習成果哈哈!
2??國內外Python書籍、文檔
① 文檔和書籍資料
3??Python工具包+項目源碼合集
①Python工具包
學習Python常用的開發(fā)軟件都在這里了!每個都有詳細的安裝教程,保證你可以安裝成功哦!
②Python實戰(zhàn)案例
光學理論是沒用的,要學會跟著一起敲代碼,動手實操,才能將自己的所學運用到實際當中去,這時候可以搞點實戰(zhàn)案例來學習。100+實戰(zhàn)案例源碼等你來拿!
③Python小游戲源碼
如果覺得上面的實戰(zhàn)案例有點枯燥,可以試試自己用Python編寫小游戲,讓你的學習過程中增添一點趣味!
4??Python面試題
我們學會了Python之后,有了技能就可以出去找工作啦!下面這些面試題是都來自阿里、騰訊、字節(jié)等一線互聯(lián)網(wǎng)大廠,并且有阿里大佬給出了權威的解答,刷完這一套面試資料相信大家都能找到滿意的工作。
5??Python兼職渠道
而且學會Python以后,還可以在各大兼職平臺接單賺錢,各種兼職渠道+兼職注意事項+如何和客戶溝通,我都整理成文檔了。文章來源:http://www.zghlxwxcb.cn/news/detail-719186.html
上述所有資料 ?? ,朋友們如果有需要的,可以掃描下方??????二維碼免費領取??
?文章來源地址http://www.zghlxwxcb.cn/news/detail-719186.html
到了這里,關于python 計算均值、方差、標準差 Numpy,Pandas的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!