pandas中std和numpy的np.std區(qū)別及說(shuō)明
pandas中std和numpy的std區(qū)別
原理
計(jì)算標(biāo)準(zhǔn)差時(shí),需要注意numpy中的std和pandas的std在計(jì)算標(biāo)準(zhǔn)差時(shí),默認(rèn)的計(jì)算結(jié)果會(huì)存在不一致的問(wèn)題。
原因在于默認(rèn)情況下,
numpy計(jì)算的為總體標(biāo)準(zhǔn)偏差,ddof=0;一般在擁有所有數(shù)據(jù)的情況下,計(jì)算所有數(shù)據(jù)的標(biāo)準(zhǔn)差時(shí)使用,即最終除以n,而非n-1;pandas計(jì)算的為樣本標(biāo)準(zhǔn)偏差,ddof=1;一般在只有部分?jǐn)?shù)據(jù),但需要求得總體的標(biāo)準(zhǔn)差時(shí)使用,當(dāng)只有部分?jǐn)?shù)據(jù)時(shí),根據(jù)統(tǒng)計(jì)規(guī)律,除以n時(shí)計(jì)算的標(biāo)準(zhǔn)差往往偏小,因此需要除以n-1,即n-ddof;
實(shí)際使用時(shí)需要注意,并且根據(jù)數(shù)據(jù)情況選擇合適的函數(shù),在數(shù)據(jù)量較大時(shí),推薦使用numpy進(jìn)行計(jì)算。
速度區(qū)別
速度由快到慢依次:
s1 = pd.Series([1,2,3,4,5]) #速度由快至慢 np.std(s1.values) > s1.std(ddof=0) > np.std(s1)
使用numpy和pandas計(jì)算平均值、方差、標(biāo)準(zhǔn)差
numpy和pandas都可以實(shí)現(xiàn)計(jì)算平均值、方差、標(biāo)準(zhǔn)差。
但numpy默認(rèn)的是總體方差,pandas默認(rèn)的樣本方差,即分母是n-1,是總體的無(wú)偏估計(jì)。
numpy的語(yǔ)法
# numpy計(jì)算方法 import numpy as np x = [1,2,3,4,5] # mean mean = np.mean(x) # variation var = np.var(x) # stander var std = np.std(x,ddof=1) #ddof=1 表示樣本方差分母是n-1,無(wú)偏估計(jì) doof=0 表示總體標(biāo)準(zhǔn)差
pandas的語(yǔ)法
#pandas計(jì)算方法
#axis = 0表示跨行,axis=1表示跨列
import pandas as pd
data_dic = {'c1' : [1,2,3],
'c2': [1,3,5]}
df = pd.DataFrame(data_dic)
#c1列的meam
mean = df['c1'].mean()
#or
mean = df.iloc[:,0].mean()
#c1列的var
var = df['c1'].var() #計(jì)算的無(wú)偏樣本方差
var = df['c1'].values.var() #計(jì)算的是有偏的總體方差
#c1列的std
std = df['c1'].std()
std = df['c1'].values.std() 總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
django之導(dǎo)入并執(zhí)行自定義的函數(shù)模塊圖解
這篇文章主要介紹了django之導(dǎo)入并執(zhí)行自定義的函數(shù)模塊圖解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
Django后臺(tái)管理系統(tǒng)的圖文使用教學(xué)
在本篇文章里小編給大家整理的是一篇關(guān)于Django后臺(tái)管理系統(tǒng)的圖文使用教學(xué)內(nèi)容,需要的朋友們參考下。2020-01-01
Python入門學(xué)習(xí)之字符串與比較運(yùn)算符
這篇文章主要介紹了Python入門學(xué)習(xí)之字符串與比較運(yùn)算符,是Python語(yǔ)法中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-10-10
Python中集合類型(set)學(xué)習(xí)小結(jié)
這篇文章主要介紹了Python中集合類型(set)學(xué)習(xí)小結(jié),本文講解了set的初始化、運(yùn)算操作、基本方法等內(nèi)容,需要的朋友可以參考下2015-01-01
淺談PySpark SQL 相關(guān)知識(shí)介紹
這篇文章主要介紹了淺談PySpark SQL 相關(guān)知識(shí)介紹,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06

