




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
StatisticswithPython
統(tǒng)計(jì)學(xué)
基于Python
2023/12/19
課程內(nèi)容描述統(tǒng)計(jì)、推斷統(tǒng)計(jì)、其他方法使用軟件
Python
語(yǔ)言學(xué)分與課時(shí)3學(xué)分,1~17周,每周3課時(shí)課程簡(jiǎn)介賈俊平吳翌琳著賈俊平2023/12/192.1Python的基本數(shù)據(jù)結(jié)構(gòu)2.2數(shù)組、序列和數(shù)據(jù)框2.3數(shù)據(jù)抽樣和篩選2.4生成頻數(shù)分布表2.5Python繪圖基礎(chǔ)第2章數(shù)據(jù)處理和繪圖基礎(chǔ)
Python的數(shù)據(jù)結(jié)構(gòu)——數(shù)字和字符串Python中有6種基本的數(shù)據(jù)結(jié)構(gòu)或稱數(shù)據(jù)類型,分別是數(shù)字(number)、字符串(string)、元組(tuple)、列表(list)、字典(dictionary)、集合(set)6種數(shù)據(jù)類型通過(guò)不同的組成方式和定義可以產(chǎn)生更多的類型使用內(nèi)置函數(shù)type()可以查看數(shù)據(jù)的類型
2.1
Python的基本數(shù)據(jù)結(jié)構(gòu)數(shù)字用于儲(chǔ)存數(shù)值Python支持4種類型的數(shù)字,即int(整數(shù)類型)、float(浮點(diǎn)類型,即取小數(shù)的數(shù)字)、bool(布爾類型,是只取True和False兩個(gè)值的邏輯型數(shù)字,也可以用0和1表示)、complex(復(fù)數(shù)類型)。字符串由數(shù)值、字母、下劃線組成的字符??梢允褂脝我?hào)('')、雙引號(hào)('''')或三引號(hào)('''''')指定字符串使用“+”連接兩個(gè)字符串使用內(nèi)置函數(shù)type()可以查看數(shù)據(jù)的類型
Python的數(shù)據(jù)結(jié)構(gòu)——元組和列表元組是一維序列,其定長(zhǎng)是固定的、不可變的,內(nèi)容不能修改,通常用“()”標(biāo)識(shí),元素之間用“,”分隔列表列表也是一維序列,與元組不同的是其長(zhǎng)度是可變的,它所包含的內(nèi)容也可以進(jìn)行修改列表中的元素可以是相同類型,也可以是不同類型,元素之間用逗號(hào)分隔,使用中括號(hào)“[]”或list類型函數(shù)可以創(chuàng)建列表,使用內(nèi)置函數(shù)type()可以查看數(shù)據(jù)的類型
2.1
Python的基本數(shù)據(jù)結(jié)構(gòu)#創(chuàng)建列表l1=[2,3,4,5]#生成元素同為數(shù)字的列表l1[2,3,4,5]l2=["甲","乙","丙","丁"]#元素同為字符串的列表l2['甲','乙','丙','丁']l3=["甲",23,True,[1,2,3]]#不同類型元素的列表l3['甲',23,True,[1,2,3]]l4=list(range(10))#用range函數(shù)生成等差數(shù)列,起始為0,步長(zhǎng)為1l4[0,1,2,3,4,5,6,7,8,9]l5=list(range(100,200,20))#在100~200之間生成數(shù)列,步長(zhǎng)為20l5[100,120,140,160,180]注:range函數(shù)是Python的內(nèi)置函數(shù),用于生成整數(shù)等差序列,共有3個(gè)參數(shù),分別是起始值,終點(diǎn)值和步長(zhǎng)。默認(rèn)起始值為0,可以為負(fù)值,但不能是小數(shù),默認(rèn)步長(zhǎng)為1,生成規(guī)則是左閉右開(kāi)
Python的數(shù)據(jù)結(jié)構(gòu)——列表的操作列表的操作使用索引可以訪問(wèn)列表中的元素,索引的符號(hào)也是方括號(hào)注意:Python的索引從左到右是從0開(kāi)始的,從右到左是從-1開(kāi)始的根據(jù)需要可以對(duì)于列表進(jìn)行其他一些操作,比如,使用append方法將元素添加到列表的尾部;使用insert方法將元素插入到指定的列表位置;使用pop方法將列表中特定位置的元素移除并返回;使用sort方法對(duì)列表中的元素排序;使用“+”連接兩個(gè)列表,等等
2.1
Python的基本數(shù)據(jù)結(jié)構(gòu)#向列表追加或插入元素l1=[2,3,4,5]l1.append(6)#將數(shù)字6追加到列表l1的尾部[2,3,4,5,6]l2=["甲","乙","丙","丁"]l2.insert(2,'戊')#在列表l2的第3個(gè)位置插入“戊”(插入位置的范圍從0到列表的長(zhǎng)度)['甲','乙','戊','丙','丁']#移除列表中特定位置的元素并返回l2=["甲","乙","丙","丁"]l2.pop(2)#移除列表l2中第3個(gè)位置的元素并返回['甲','乙','丁']#連接兩個(gè)列表l1=[2,3,4,5]l2=["甲","乙","丙","丁"]l12=l1+l2#將列表l1和列表l2連接成一個(gè)新列表ab[2,3,4,5,'甲','乙','丙','丁']#列表元素的排序l6=[2,3,4,5,2,8]#創(chuàng)建列表l6l6.sort()#列表元素的排序[2,2,3,4,5,8]l7=['甲','乙','戊','丙','丁']#創(chuàng)建列表l7l7.sort()#列表元素的排序,或?qū)懗蓅orted(l7)['丁','丙','乙','戊','甲']
Python的數(shù)據(jù)結(jié)構(gòu)——字典和集合——字典及其操作字典字典是Python最重要的內(nèi)置結(jié)構(gòu)之一,它是大小可變的鍵值對(duì)集,其中鍵(key)和值(value)都是Python對(duì)象。字典中的元素用大括號(hào){}括起來(lái),用“:”分割鍵和值,不同的鍵值組合之間用“,”分隔。用大括號(hào)“{}”或dict函數(shù)可以創(chuàng)建字典,其形式如下:dictionary={key1:value1,key2:value2,……}或?qū)懗桑篸ictionary=dict(key1=value1,key2=value2,……)
2.1
Python的基本數(shù)據(jù)結(jié)構(gòu)#用大括號(hào){}創(chuàng)建字典dc1={'劉文濤':68,'王宇翔':85,'田思雨':74,'徐麗娜':88,'丁文彬':63}#創(chuàng)建5名學(xué)生考試分?jǐn)?shù)的字典{'劉文濤':68,'王宇翔':85,'田思雨':74,'徐麗娜':88,'丁文彬':63}#用dict函數(shù)創(chuàng)建字典dc2=dict(劉文濤=68,王宇翔=85,田思雨=74,徐麗娜=88,丁文彬=63)#創(chuàng)建5名學(xué)生考試分?jǐn)?shù)的字典{'劉文濤':68,'王宇翔':85,'田思雨':74,'徐麗娜':88,'丁文彬':63}#以列表的形式返回字典dc1中的鍵dc1.keys()dict_keys(['劉文濤','王宇翔','田思雨','徐麗娜','丁文彬'])#以列表的形式返回字典dc1中的值dc1.values()dict_values([68,85,74,88,63])#以列表的形式返回字典dc1中的鍵值對(duì)dc1.items()dict_items([('劉文濤',68),('王宇翔',85),('田思雨',74),('徐麗娜',88),('丁文彬',63)])#返回(查詢)字典dc1中鍵k上的值dc1['徐麗娜']88#刪除字典dc1中的某個(gè)鍵值對(duì)deldc1['田思雨']{'劉文濤':68,'王宇翔':85,'徐麗娜':88,'丁文彬':63}
Python的數(shù)據(jù)結(jié)構(gòu)——字典和集合——集合及其操作集合集合是由唯一元素組成的無(wú)序集,可看成是只有鍵沒(méi)有值的字典集合中的元素是無(wú)序的,不記錄元素的位置,因此不支持索引、切片等類似序列的操作,只能遍歷或使用in、notin等訪問(wèn)或判斷集合元素使用set()函數(shù)或大括號(hào)“{}”的方式等可以創(chuàng)建集合,一個(gè)空集合必須使用set()創(chuàng)建
2.1
Python的基本數(shù)據(jù)結(jié)構(gòu)#使用set函數(shù)創(chuàng)建集合set1=set([2,2,2,1,8,3,3,5,5])set1{1,2,3,5,8}#使用大括號(hào){}創(chuàng)建集合set2={2,2,2,1,4,3,3,5,6,6}set2{1,2,3,4,5,6}#兩個(gè)集合的并集(兩個(gè)集合中不同元素的集合)set1|set2#或?qū)懗蓅et1.union(set2){1,2,3,4,5,6,8}#兩個(gè)集合的交集(兩個(gè)集合中同時(shí)包含的元素)set1&set2#或?qū)懗蒭rsection(set2){1,2,3,5}
numpy中的數(shù)組——?jiǎng)?chuàng)建數(shù)組數(shù)組n維數(shù)組(ndarray)是numpy模塊中定義的對(duì)象,它可以是一維、二維和多維,數(shù)組中元素類型是數(shù)值型。n維數(shù)組由實(shí)際數(shù)據(jù)和描述這些數(shù)據(jù)的元數(shù)據(jù)(數(shù)據(jù)維度,數(shù)據(jù)類型等)組成,一般要求所有元素類型相同,數(shù)組下標(biāo)從0開(kāi)始一維數(shù)組就是通常所說(shuō)的向量(vector),二維數(shù)組就是通常所說(shuō)的矩陣(matrix)??梢酝ㄟ^(guò)構(gòu)造函數(shù)array創(chuàng)建n維數(shù)組,也可以使用numpy中的其他函數(shù)如arange函數(shù)、ones函數(shù)以及zeros函數(shù)等創(chuàng)建n維數(shù)組
2.2
數(shù)組、序列和數(shù)據(jù)框#創(chuàng)建一維數(shù)組(向量)importnumpyasnpa1=np.array([5,4,1,2,3])#使用array函數(shù)創(chuàng)建數(shù)組a2=np.arange(10)#用range函數(shù)生成等差數(shù)列,起始為0,步長(zhǎng)為1a3=np.arange(2,6,0.5)#用arange函數(shù)在2~6之間生成步長(zhǎng)為0.5的等差序列print('a1:',a1)#輸出結(jié)果print('a2:',a2)print('a3:',a3)a1:[54123]a2:[0123456789]a3:[2.2.53.3.54.4.55.5.5]#創(chuàng)建二維數(shù)組(矩陣)importnumpyasnpa4=np.array([[1,2],[3,4],[5,6]])#創(chuàng)建2×3的矩陣a4array([[1,2],[3,4],[5,6]])#改變數(shù)組的形狀importnumpyasnpa5=np.arange(12)#創(chuàng)建一維數(shù)組a6=a5.reshape(3,4)#改變數(shù)組為3×4的二維數(shù)組(矩陣)a6array([[0,1,2,3],[4,5,6,7],[8,9,10,11]])
pandas中的序列和數(shù)據(jù)框——序列及其操作序列序列類似于一維數(shù)組,不同的是它由索引(index)和一維數(shù)值(values)組成序列可以儲(chǔ)存整數(shù)、浮點(diǎn)數(shù)、字符、Python對(duì)象等多種類型的數(shù)據(jù),但一個(gè)序列最好只存儲(chǔ)一種類型的數(shù)據(jù),若存在多種數(shù)據(jù)類型,該序列的類型會(huì)自動(dòng)轉(zhuǎn)換成對(duì)象使用Series函數(shù)可創(chuàng)建序列,使用前需要導(dǎo)入pandas模塊importpandasaspds1=pd.Series([2,3,4,5])#省略索引時(shí)自動(dòng)生成索引02132435dtype:int64s2=pd.Series([5,8,7,6],index=['a','b','c','d'])#自行指定索引a5b8c7d6dtype:int64#由標(biāo)量生成序列時(shí),不能省略索引s3=pd.Series([60,80,50],index=['甲',25,True])#索引可以是不同類型元素甲602580True50dtype:int64#由Python字典生成序列s4=pd.Series({'a':1,'b':'boy','c':3})#索引與數(shù)據(jù)以字典形式傳入a1bboyc3dtype:object#由其他函數(shù)生成序列s5=pd.Series(range(5))#使用range函數(shù),類似列表print(s5)#print函數(shù)用于標(biāo)準(zhǔn)輸出(也可以直接運(yùn)行對(duì)象s5)0011223344dtype:int64
2.2
數(shù)組、序列和數(shù)據(jù)框
pandas中的序列和數(shù)據(jù)框——序列及其操作#獲取系列索引、數(shù)據(jù)、類型importpandasaspds6=pd.Series([5,8,7,6],index=['a','b','c','d'])print('類型:',s6.index)#獲取系列索引print('數(shù)據(jù):',s6.values)#獲取系列數(shù)據(jù)print('類型:',s6.dtype)#獲取系列類型類型:Index(['a','b','c','d'],dtype='object')數(shù)據(jù):[5876]類型:int64#設(shè)置系列與索引的名稱(name)屬性='我是一個(gè)pandas的Series'#設(shè)置系列名稱='我是索引'#設(shè)置系列索引名稱s6我是索引a5b8c7d6Name:我是一個(gè)pandas的Series,dtype:int64#轉(zhuǎn)換系列類型s6=s6.astype(float)#將整數(shù)型改為浮點(diǎn)數(shù)類型s6我是索引a5.0b8.0c7.0d6.0Name:我是一個(gè)pandas的Series,dtype:float64#修改序列中的數(shù)據(jù)s6[[1,3]]=[2,8]#將序列s6中的第2個(gè)值和第4個(gè)值修改為2和8s6我是索引a5.0b2.0c7.0d8.0Name:我是一個(gè)pandas的Series,dtype:float64#序列的對(duì)齊運(yùn)算s7=pd.Series([1,2,3],index=['a','c','e'],dtype=float)s6+s7a6.0bNaNc9.0dNaNeNaNdtype:float64注:序列的運(yùn)算完全根據(jù)索引來(lái)對(duì)齊,如果兩者都有自定義索引,優(yōu)先使用自定義索引,如果只有一個(gè)有自定義索引,另一個(gè)是自動(dòng)索引,還是會(huì)使用自定義索引,這種情況運(yùn)算結(jié)果會(huì)出現(xiàn)大量空值(NaN);如果兩方都是自動(dòng)索引,則根據(jù)自動(dòng)索引進(jìn)行對(duì)齊。#序列的一些簡(jiǎn)單計(jì)算importpandasaspds8=pd.Series([1,2,3,4,5],index=['a','b','c','d','e'],dtype=float)c=s8.cumsum()#序列s8的累加s=s8.sum()#序列s8求和m=s8.mean()#求序列s8的平均數(shù)print("累加:",'\n',c,'\n',"總和=",s,'\n',"平均數(shù)=",m)累加:a1.0b3.0c6.0d10.0e15.0dtype:float64總和=15.0平均數(shù)=3.0
2.2
數(shù)組、序列和數(shù)據(jù)框
pandas中的序列和數(shù)據(jù)框——?jiǎng)?chuàng)建數(shù)據(jù)框數(shù)據(jù)框數(shù)據(jù)框是pandas中的另一個(gè)重要數(shù)據(jù)結(jié)構(gòu),它是一種表格結(jié)構(gòu)的數(shù)據(jù),類似于Excel中的數(shù)據(jù)表,也是較為常見(jiàn)的數(shù)據(jù)形式數(shù)據(jù)框?qū)嶋H上是帶標(biāo)簽的二維數(shù)組,一個(gè)數(shù)據(jù)框由行索引(index)、列索引(columns)和二維數(shù)據(jù)(values)組成。數(shù)據(jù)框的每一列和每一行都是一個(gè)序列。為了便于分析,一般要求數(shù)據(jù)框一列只存儲(chǔ)一種類型的數(shù)據(jù)使用pandas的構(gòu)造函數(shù)DataFrame可創(chuàng)建數(shù)據(jù)框,其中的參數(shù)data為數(shù)組或字典姓名統(tǒng)計(jì)學(xué)數(shù)學(xué)經(jīng)濟(jì)學(xué)劉文濤688584王宇翔859163田思雨747461徐麗娜8810049丁文彬638289
2.2
數(shù)組、序列和數(shù)據(jù)框
pandas中的序列和數(shù)據(jù)框——數(shù)據(jù)框的操作數(shù)據(jù)框的操作顯示數(shù)據(jù)框,輸入數(shù)據(jù)框的名稱即可使用table1_1.head()默認(rèn)顯示數(shù)據(jù)框table1_1的前5行;使用table1_1.tail()默認(rèn)顯示數(shù)據(jù)框table1_1的后5行使用type函數(shù)可以查看數(shù)據(jù)的類型使用table1_1.shape可以查看數(shù)據(jù)框table1_1的行數(shù)和列數(shù)屬性當(dāng)數(shù)據(jù)量比較大時(shí),可以使用info()方法查看數(shù)據(jù)的結(jié)構(gòu)使用describe()方法可以對(duì)數(shù)據(jù)框的數(shù)值型變量進(jìn)行簡(jiǎn)單的描述統(tǒng)計(jì)使用pandas的構(gòu)造函數(shù)DataFrame可創(chuàng)建數(shù)據(jù)框,其中的參數(shù)data為數(shù)組或字典方法描述示例columns查看所有列名(列索引)df.columnsdtypes查看所有元素的類型df.dtypeshead查看前n行數(shù)據(jù)(默認(rèn)前5行)df.head(3)index查看所有行名(行索引)df.indexinfo查看數(shù)據(jù)結(jié)構(gòu)(索引、數(shù)據(jù)類型等)shape查看行數(shù)和列數(shù)(行,列)df.shapeT數(shù)據(jù)框的行列轉(zhuǎn)置df.Ttail查看后n行數(shù)據(jù)(默認(rèn)后5行)df.tail(3)values查看所有元素的值df.values
2.2
數(shù)組、序列和數(shù)據(jù)框
pandas中的序列和數(shù)據(jù)框——數(shù)據(jù)框的排序數(shù)據(jù)框的排序使用sort_values()方法可以對(duì)數(shù)據(jù)框的某一列排序,函數(shù)默認(rèn)參數(shù)ascending=True,即升序排列,需要降序時(shí),可設(shè)置參數(shù)ascending=False可以按照索引排序,使用sort_index()方法,參數(shù)axis默認(rèn)為0,按照行索引對(duì)行排序,設(shè)置axis=1即按照列索引對(duì)列排序,默認(rèn)升序按姓名筆畫(huà)升序排序數(shù)據(jù)框按統(tǒng)計(jì)學(xué)考試分?jǐn)?shù)降序排序數(shù)據(jù)框
2.2
數(shù)組、序列和數(shù)據(jù)框姓名統(tǒng)計(jì)學(xué)數(shù)學(xué)經(jīng)濟(jì)學(xué)4丁文彬6382891王宇翔8591632田思雨7474610劉文濤6885843徐麗娜8810049
姓名統(tǒng)計(jì)學(xué)數(shù)學(xué)經(jīng)濟(jì)學(xué)3徐麗娜88100491王宇翔8591632田思雨7474610劉文濤6885844丁文彬638289
pandas中的序列和數(shù)據(jù)框——數(shù)據(jù)框的合并數(shù)據(jù)框的合并可使用concat函數(shù)。函數(shù)默認(rèn)參數(shù)axis為0(默認(rèn)的參數(shù)設(shè)置可以省略不寫(xiě)),表示將不同的數(shù)據(jù)框按行合并,設(shè)置axis=1將不同的數(shù)據(jù)框按列合并按行合并時(shí),數(shù)據(jù)框中的列索引必須相同,按列合并時(shí),數(shù)據(jù)框中的行索引必須相同,否則合并是沒(méi)有意義的合并后的數(shù)據(jù)框
2.2
數(shù)組、序列和數(shù)據(jù)框
姓名統(tǒng)計(jì)學(xué)數(shù)學(xué)經(jīng)濟(jì)學(xué)0劉文濤6885841王宇翔8591632田思雨7474613徐麗娜88100494丁文彬6382895李志國(guó)7884516王智強(qiáng)9078597宋麗媛80100538袁芳芳5851799張建國(guó)637091
pandas中的序列和數(shù)據(jù)框——數(shù)據(jù)框的應(yīng)用函數(shù)函數(shù)描述示例describe輸出數(shù)據(jù)框的主要描述統(tǒng)計(jì)量df.describe()count返回每一列中非空值的個(gè)數(shù)df.count()sum返回每一列的和(無(wú)法計(jì)算時(shí)返回空值)df.sum()max返回每一列的最大值df.max()min返回每一列的最小值df.min()argmax返回最大值所在的自動(dòng)索引位置df.argmax()argmin返回最小值所在的自動(dòng)索引位置df.argmin()idxmax返回最大值所在的自定義索引位置df.idxmax()idxmin返回最小值所在的自定義索引位置df.idxmin()mean返回每一列的平均值df.mean()median返回每一列的中位數(shù)df.median()var返回每一列的方差df.var()std返回每一列的標(biāo)準(zhǔn)差df.std()
2.2
數(shù)組、序列和數(shù)據(jù)框抽取簡(jiǎn)單隨機(jī)樣本——例題分析
2.3
數(shù)據(jù)抽樣和篩選抽取簡(jiǎn)單隨機(jī)樣本從一個(gè)已知的總體數(shù)據(jù)集中抽取一個(gè)隨機(jī)樣本可以采取不同的抽樣方法,本節(jié)只介紹抽取簡(jiǎn)單隨機(jī)樣本的方法使用sample函數(shù)抽取簡(jiǎn)單隨機(jī)樣本【例2-1】50個(gè)學(xué)生的姓名、性別、專業(yè)、滿意度和考試分?jǐn)?shù)#無(wú)放回抽取10個(gè)學(xué)生:['黃向春','徐麗娜','張青松','王思思','袁芳芳','楊小波','馬家強(qiáng)','張志杰','李佳佳','王浩波’]#有放回抽取10個(gè)學(xué)生:['劉文濤','王思思','盧春陽(yáng)','蔣亞迪','黃向春','李國(guó)勝','田思雨','吳凱迪','高鳳云','邵海陽(yáng)’]#無(wú)放回抽取10個(gè)分?jǐn)?shù):[73,78,80,75,71,89,74,70,82,81]#有放回抽取10個(gè)分?jǐn)?shù):[90,74,76,74,77,86,74,86,63,89]數(shù)據(jù)篩選
2.3
數(shù)據(jù)抽樣和篩選數(shù)據(jù)篩選數(shù)據(jù)篩選(datafilter)是根據(jù)需要找出符合特定條件的某類數(shù)據(jù)。比如,找出每股盈利在2元以上的上市公司;找出考試成績(jī)?cè)?0分及以上的學(xué)生,等等用Python進(jìn)行數(shù)據(jù)篩選的方法很多,比如,直接在數(shù)據(jù)框的[]中寫(xiě)篩選的條件或者組合條件進(jìn)行篩選;使用loc或iloc按標(biāo)簽值(列名和行索引取值)或按數(shù)字索引訪問(wèn)數(shù)據(jù)框,從行和列兩個(gè)維度篩選;使用df.isin函數(shù)篩選某些具體數(shù)值范圍內(nèi)的數(shù)據(jù);使用df.Query函數(shù)查詢數(shù)據(jù)框的列;使用filter函數(shù)篩選特定的行或列,等等使用sample函數(shù)抽取簡(jiǎn)單隨機(jī)樣本數(shù)據(jù)篩選——例題分析
2.3
數(shù)據(jù)抽樣和篩選篩選出考試分?jǐn)?shù)小于60的所有學(xué)生篩選出考試分?jǐn)?shù)為70、80和90的3個(gè)學(xué)生篩選出不滿意的所有學(xué)生(前3行)篩選出管理學(xué)專業(yè)滿意的學(xué)生
姓名性別專業(yè)滿意度考試分?jǐn)?shù)11馬鳳良男金融學(xué)滿意5514孫學(xué)偉男會(huì)計(jì)學(xué)不滿意5133張?zhí)煅竽袝?huì)計(jì)學(xué)一般56
姓名性別專業(yè)滿意度考試分?jǐn)?shù)49王思思女會(huì)計(jì)學(xué)滿意8021李國(guó)勝男金融學(xué)一般9047尹嘉韓男會(huì)計(jì)學(xué)一般70
姓名性別專業(yè)滿意度考試分?jǐn)?shù)0張青松男會(huì)計(jì)學(xué)不滿意824張志杰男會(huì)計(jì)學(xué)不滿意7710李佳佳女金融學(xué)不滿意80
姓名性別專業(yè)滿意度考試分?jǐn)?shù)18吳凱迪女管理學(xué)滿意7136李宗洋男管理學(xué)滿意7937劉皓天男管理學(xué)滿意8541孟子鐸男管理學(xué)滿意8246唐國(guó)健男管理學(xué)滿意75數(shù)據(jù)篩選——例題分析
2.3
數(shù)據(jù)抽樣和篩選篩選出會(huì)計(jì)學(xué)專業(yè)考試分?jǐn)?shù)大于等于80的女生,并按分?jǐn)?shù)多少降序排列
姓名性別專業(yè)滿意度考試分?jǐn)?shù)29李愛(ài)華女會(huì)計(jì)學(xué)不滿意987宋麗媛女會(huì)計(jì)學(xué)一般9234李冬茗女會(huì)計(jì)學(xué)滿意8835王曉倩女會(huì)計(jì)學(xué)不滿意8649王思思女會(huì)計(jì)學(xué)滿意80篩選出考試分?jǐn)?shù)大于等于80、金融學(xué)專業(yè)、滿意的女生,并按分?jǐn)?shù)多少降序排列
姓名性別專業(yè)滿意度考試分?jǐn)?shù)5趙穎穎女金融學(xué)滿意9726丁麗佳女金融學(xué)滿意8928于文靜女金融學(xué)滿意8443邱怡爽女金融學(xué)滿意83生成隨機(jī)數(shù)——例題分析
2.3
數(shù)據(jù)抽樣和篩選生成隨機(jī)數(shù)用numpy中的random子模塊可以同時(shí)生成多個(gè)隨機(jī)數(shù),還能組成不同形狀的隨機(jī)數(shù)數(shù)組由于是隨機(jī)生成,每次運(yùn)行會(huì)得到不同的隨機(jī)數(shù)要想每次運(yùn)行都產(chǎn)生相同的一組隨機(jī)數(shù),可在生成隨機(jī)數(shù)之前使用函數(shù)seed()設(shè)定隨機(jī)數(shù)種子,在括號(hào)內(nèi)可輸入任意數(shù)字即可,如numpy.random.seed(12)。使用相同的隨機(jī)數(shù)種子,每次運(yùn)行都會(huì)產(chǎn)生一組相同的隨機(jī)數(shù)#生成不同分布的隨機(jī)數(shù)(每種分布產(chǎn)生5個(gè))importnumpy.randomasnpr
npr.seed(15)#設(shè)定隨機(jī)數(shù)種子r1=npr.standard_normal(size=5)#標(biāo)準(zhǔn)正態(tài)分布r2=npr.normal(loc=50,scale=5,size=5)#均值(loc)為50、標(biāo)準(zhǔn)差(scale)為5的正態(tài)分布r3=npr.uniform(low=0,high=10,size=5)#0~10之間的均勻分布
print('#標(biāo)準(zhǔn)正態(tài)分布:','\n',r1,'\n''#值為50、標(biāo)準(zhǔn)差為5的正態(tài)分布:','\n',r2,'\n''#0~10之間的均勻分布:','\n',r3)#打印結(jié)果#標(biāo)準(zhǔn)正態(tài)分布:[-0.312328480.33928471-0.15590853-0.501789670.23556889]#值為50、標(biāo)準(zhǔn)差為5的正態(tài)分布:[41.1819737244.5206897844.5611712948.4741497447.63125814]#0~10之間的均勻分布:[9.176298982.641468537.177736878.657150348.07079482]頻數(shù)分布表
2.4
生成頻分布數(shù)表頻數(shù)分布表頻數(shù)分布表(frequencydistributiontable)簡(jiǎn)稱頻數(shù)表,是對(duì)類別數(shù)據(jù)計(jì)數(shù)或數(shù)值數(shù)據(jù)類別化(分組)后計(jì)數(shù)生成的表格,用于展示數(shù)據(jù)的頻數(shù)分布(frequencydistribution),其中,落在某一特定類別的數(shù)據(jù)個(gè)數(shù)稱為頻數(shù)(frequency)類別數(shù)據(jù)頻數(shù)表由于類別數(shù)據(jù)本身就是一種分類,只要將所有類別都列出來(lái),然后計(jì)算出每一類別的頻數(shù),就可生成頻數(shù)分布表。根據(jù)觀測(cè)變量的多少,可以生成一維表、二維表和多維表數(shù)值數(shù)據(jù)的頻數(shù)分布表需要先將數(shù)據(jù)劃分成不同的數(shù)值區(qū)間,這樣的區(qū)間就是類別數(shù)據(jù),然后再生成頻數(shù)分布表,這一過(guò)程稱為類別化(categorization)。類別化的方法是將原始數(shù)據(jù)分成不同的組別類別數(shù)據(jù)的頻數(shù)分布表——一維表
2.4
生成頻分布數(shù)表一維表當(dāng)只涉及一個(gè)類別變量時(shí),這個(gè)變量的各類別可以放在頻數(shù)分布表中“行”的位置,也可以放在“列”的位置,將該變量的各類別及其相應(yīng)的頻數(shù)列出來(lái)就是一維表,也稱一維列聯(lián)表(one-dimensionalcontingencytable)【例2-2】
沿用例2-1。
專業(yè)會(huì)計(jì)學(xué)19金融學(xué)16管理學(xué)15一維表百分比表
專業(yè)會(huì)計(jì)學(xué)38.0金融學(xué)32.0管理學(xué)30.0類別數(shù)據(jù)的頻數(shù)分布表——二維表
2.4
生成頻分布數(shù)表二維表當(dāng)涉及兩個(gè)類別變量時(shí),可以將一個(gè)變量的各類別放在“行”的位置,另一個(gè)變量的各類別放在“列”的位置(行和列可以互換),由兩個(gè)類別變量交叉分類形成的頻數(shù)分布表稱為二維列聯(lián)表(two-dimensionalcontingencytable)或交叉表(crosstable),簡(jiǎn)稱二維表使用pandas中的crosstab函數(shù)和pivot_table函數(shù)均可以生成二維表。在crosstab函數(shù)中,設(shè)置參數(shù)margins=True可為二維表添加邊際和;設(shè)置參數(shù)margins_name可以修改邊際和的名稱;設(shè)置參數(shù)normalize='index'可以計(jì)算各行數(shù)據(jù)占該行合計(jì)的比例;設(shè)置參數(shù)normalize='columns'可以計(jì)算各列數(shù)據(jù)占該列合計(jì)的比例;設(shè)置參數(shù)normalize='all'可以計(jì)算每個(gè)數(shù)據(jù)占總和的比例類別數(shù)據(jù)的頻數(shù)分布表——二維表——例題分析
2.4
生成頻分布數(shù)表生成二維表為二維表添加邊際和并修改邊際和名稱滿意度一般不滿意滿意性別
女3613男12610滿意度一般不滿意滿意性別
女13.6427.2759.09男42.8621.4335.71合計(jì)30.0024.0046.00百分比二維表滿意度一般不滿意滿意性別
女13.6427.2759.09男42.8621.4335.71合計(jì)30.0024.0046.00計(jì)算各數(shù)據(jù)占總和的比例,并轉(zhuǎn)換成百分比表計(jì)算各列所占的比例,并轉(zhuǎn)換成百分比表滿意度一般不滿意滿意合計(jì)性別
女20.050.056.5244.0男80.050.043.4856.0滿意度一般不滿意滿意合計(jì)性別
女6.012.026.044.0男24.012.020.056.0合計(jì)30.024.046.0100.0類別數(shù)據(jù)的頻數(shù)分布表——多維表
2.4
生成頻分布數(shù)表多維表有兩個(gè)以上類別變量時(shí),通常將一個(gè)或多個(gè)變量按“列”擺放,其余變量按“行”擺放,這種由多個(gè)類別變量生成的頻數(shù)分布表稱為多維列聯(lián)表(multidimensionalcontingencytable)或高維表(higher-dimensionaltables),簡(jiǎn)稱多維表使用pandas中的數(shù)據(jù)透視表函數(shù)pivot_table可以生成多個(gè)類別變量的多維表(該函數(shù)可以生成一維表、二維表和多維表)。參數(shù)index用于指定行變量,columns用于指定列變量(行和列可以互換,可根據(jù)需要指定)。參數(shù)margins=True可為多維表表添加邊際和,margins_name可以修改邊際和的名稱。使用聚集函數(shù)aggfunc可以對(duì)類別數(shù)據(jù)計(jì)數(shù)類別數(shù)據(jù)的頻數(shù)分布表——多維表——例題分析
2.4
生成頻分布數(shù)表
性別和專業(yè)為行變量、滿意度為列變量滿意度為行變量、性別和專業(yè)為列變量
滿意度一般不滿意滿意合計(jì)性別專業(yè)
女會(huì)計(jì)學(xué)1359管理學(xué)1214金融學(xué)1179男會(huì)計(jì)學(xué)43310管理學(xué)52411金融學(xué)3137合計(jì)
15122350性別女男合計(jì)專業(yè)會(huì)計(jì)學(xué)管理學(xué)金融學(xué)會(huì)計(jì)學(xué)管理學(xué)金融學(xué)
滿意度
一般11145315不滿意32132112滿意51734323合計(jì)9491011750數(shù)值數(shù)據(jù)類別化——分組表
2.4
生成頻分布數(shù)表數(shù)值數(shù)據(jù)類別化在生成數(shù)值數(shù)據(jù)的頻數(shù)分布表時(shí),需要先將數(shù)據(jù)劃分成不同的數(shù)值區(qū)間,這樣的區(qū)間就是類別數(shù)據(jù),然后再生成頻數(shù)分布表,這一過(guò)程稱為類別化(categorization)。類別化的方法是將原始數(shù)據(jù)分成不同的組別,數(shù)據(jù)分組是將數(shù)值數(shù)據(jù)轉(zhuǎn)化成類別數(shù)據(jù)的方法之一,它是先將數(shù)據(jù)按照一定的間距劃分成若干個(gè)區(qū)間,然后再統(tǒng)計(jì)出每個(gè)區(qū)間的頻數(shù),生成頻數(shù)分布表【例2-3】某電商平臺(tái)2023年前4個(gè)月每天的銷售額數(shù)據(jù)。對(duì)銷售額做適當(dāng)分組,分析銷售額的分布特征272194161246196201217209265219188216181241254207198224253210215207225234225197171243208202206210233222222199199236203167199193248205216218209235188198225203252203181212205226226220240196172224200261207218217223228238191199252183238203172217237191229196204200187195200218207214217224230233192172216196200235216206218204186206212234243239222208205215203224238243數(shù)值數(shù)據(jù)類別化——分組表
2.4
生成頻分布數(shù)表
數(shù)值數(shù)據(jù)類別化——分組表——例題分析
2.4
生成頻分布數(shù)表組距=10的分組組距=15的分組
頻數(shù)頻數(shù)百分比(%)累積頻數(shù)累積頻數(shù)百分比(%)銷售額分組
(160,170]21.6721.67(170,180]43.3365.00(180,190]75.831310.83(190,200]2117.503428.33(200,210]2520.835949.17(210,220]1915.837865.00(220,230]1613.339478.33(230,240]1310.8310789.17(240,250]65.0011394.17(250,260]43.3311797.50(260,270]21.6711999.17(270,280]10.83120100.00
頻數(shù)頻數(shù)百分比(%)累積頻數(shù)累積頻數(shù)百分比(%)銷售額分組
[160,175)65.0065.00[175,190)75.831310.83[190,205)3025.004335.83[205,220)3428.337764.17[220,235)2117.509881.67[235,250)1512.5011394.17[250,265)54.1711898.33[265,280)21.67120100.00
Python主要繪圖模塊
2.5
Python繪圖基礎(chǔ)Python主要繪圖模塊Python具有強(qiáng)大的可視化功能,可繪制式樣繁多的圖形最典型的可視化工具主要有兩個(gè):matplotlib和seaborn此外,作為數(shù)據(jù)分析模塊的pandas也提供了針對(duì)DataFrame對(duì)象的繪圖函數(shù)gglot模塊提供了類似于R中g(shù)gplot2的繪圖方法
Python主要繪圖模塊
2.5
Python繪圖基礎(chǔ)matplotlib模塊matplotlib是Python最常用的一種2D繪圖庫(kù),它是Python中的基礎(chǔ)繪圖模塊,包含了大量的繪圖工具,可以繪圖靈活多樣的圖形,其中的pyplot子模塊類似于Matlab的操作思想,上手簡(jiǎn)單matplotlib可以對(duì)圖形進(jìn)行精確的設(shè)置,也可以與其他繪圖模塊結(jié)合使用matplotlib屬于比較底層的繪圖工具,要繪制漂亮或?qū)I(yè)的圖形,顯得有些繁瑣,需要編寫(xiě)大量的代碼,因此,實(shí)際中通常是將其與其他繪圖模塊結(jié)合使用在官方網(wǎng)站(/tutorials/index.html)可以查看matplotlib的使用方法seaborn模塊matplotlib是Python最常用的一種2D繪圖庫(kù),它是Python中的基礎(chǔ)繪圖模塊,包含了大量的繪圖工具,可以繪圖靈活多樣的圖形,其中的pyplot子模塊類似于Matlab的操作思想,上手簡(jiǎn)單seaborn可視為matplotlib的擴(kuò)展模塊,也可視為對(duì)matplotlib繪圖的補(bǔ)充。它是在matplotlib的基礎(chǔ)上進(jìn)行了高級(jí)API(ApplicationProgrammingInterface,應(yīng)用程序編程接口)封裝,使用較少的代碼就可以繪制出漂亮的圖形,可用于繪制分面圖、交互圖、3D圖等。seaborn主要用于繪制較專業(yè)的統(tǒng)計(jì)分析圖形,基本上能滿足大部分統(tǒng)計(jì)繪圖的需求,尤其適合繪制按因子分組的圖形以及概率分布圖等
Python主要繪圖模塊
2.5
Python繪圖基礎(chǔ)Pandas中的繪圖函數(shù)pandas的數(shù)據(jù)結(jié)構(gòu)主要是數(shù)據(jù)框,由于數(shù)據(jù)框中有行標(biāo)簽和列標(biāo)簽,使用pandas提供的針對(duì)DataFrame對(duì)象的繪圖函數(shù),繪圖所需的代碼要比matplotlib少pandas中也提供了數(shù)據(jù)框繪圖的高級(jí)方法,可以實(shí)現(xiàn)快速繪圖與matplotlib的精細(xì)化設(shè)置結(jié)合起來(lái),同樣可以快速完成更有吸引力的圖形ggplot和plotnine繪圖系統(tǒng)ggplot和plotnine是用于繪圖的Python擴(kuò)展模塊,這兩個(gè)模塊基本上移植了R中
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 三農(nóng)產(chǎn)品冷鏈物流運(yùn)作手冊(cè)
- 基坑支護(hù)工程安全施工方案
- 三農(nóng)產(chǎn)業(yè)發(fā)展規(guī)劃作業(yè)指導(dǎo)書(shū)
- 酒店財(cái)務(wù)管理的技巧和要點(diǎn)作業(yè)指導(dǎo)書(shū)
- 短視頻制作與運(yùn)營(yíng)指南
- 設(shè)備維護(hù)與管理作業(yè)指導(dǎo)書(shū)
- 工作效率提升策略實(shí)施效果評(píng)估表格化報(bào)告
- 電商平臺(tái)社交媒體運(yùn)營(yíng)手冊(cè)
- 患者心理疏導(dǎo)手冊(cè)
- 無(wú)線網(wǎng)絡(luò)優(yōu)化實(shí)踐題
- 專業(yè)技術(shù)人員職務(wù)聘任書(shū)
- GB/T 25429-2019石油天然氣鉆采設(shè)備鉆具止回閥
- 新版基本公共衛(wèi)生服務(wù)健康教育培訓(xùn)課件
- 六年級(jí)上冊(cè)音樂(lè)課件 《校園小戲迷》人音版
- 2023版北京協(xié)和醫(yī)院重癥醫(yī)學(xué)科診療常規(guī)
- 千里江山圖解析課件
- 《現(xiàn)代漢語(yǔ)常用字表》3500個(gè)漢字
- 道路通行能力計(jì)算題
- 經(jīng)濟(jì)學(xué)基礎(chǔ)完整版ppt-全體教學(xué)教程課件最新
- JJF(湘) 09-2018 純水-超純水系統(tǒng)監(jiān)測(cè)儀表(電導(dǎo)率)計(jì)量校準(zhǔn)規(guī)范-(高清現(xiàn)行)
- SJG 82-2020 政府投資學(xué)校建筑室內(nèi)裝修材料空氣污染控制標(biāo)準(zhǔn)-高清現(xiàn)行
評(píng)論
0/150
提交評(píng)論