




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Pandas數(shù)據(jù)清洗與函數(shù)應(yīng)用6PandasDataCleaningandFunctionApplication內(nèi)容概述本章學(xué)習(xí)目標(biāo)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析(1)了解NumPy的NaN;(4)掌握Pandas的函數(shù)應(yīng)用。(3)掌握Pandas的數(shù)據(jù)清洗方法;(2)掌握Series對(duì)象和DataFrame對(duì)象的運(yùn)算操作;目錄CONTENTS財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析第6章Pandas數(shù)據(jù)清洗與函數(shù)應(yīng)用
6.1Pandas對(duì)象的運(yùn)算與對(duì)齊
6.2Pandas數(shù)據(jù)清洗6.3函數(shù)應(yīng)用
【Python財(cái)務(wù)數(shù)據(jù)分析】——財(cái)務(wù)報(bào)表文件數(shù)據(jù)清洗和運(yùn)算.
Pandas對(duì)象的運(yùn)算與對(duì)齊PartOne01財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析6.1Pandas對(duì)象的運(yùn)算與對(duì)齊6.1.1NumPy的NaN6.1Pandas對(duì)象的運(yùn)算與對(duì)齊6.1.1NumPy的NaN6.1Pandas對(duì)象的運(yùn)算與對(duì)齊6.1.2Series運(yùn)算6.1Pandas對(duì)象的運(yùn)算與對(duì)齊6.1.2Series運(yùn)算6.1Pandas對(duì)象的運(yùn)算與對(duì)齊6.1.3DataFrame運(yùn)算6.1Pandas對(duì)象的運(yùn)算與對(duì)齊6.1.3DataFrame運(yùn)算Pandas數(shù)據(jù)清洗PartTwo02財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析6.2數(shù)據(jù)清洗
6.2數(shù)據(jù)清洗
6.2數(shù)據(jù)清洗
Pandas函數(shù)應(yīng)用PartThree03財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Pandas函數(shù)應(yīng)用概述如果想要應(yīng)用自定義函數(shù),或者把其他庫(kù)中的函數(shù)應(yīng)用到Pandas對(duì)象中,有以下3種方法:l
pipe():操作整個(gè)DataFrame的函數(shù)l
apply():操作行或者列的函數(shù)l
applymap():操作單一元素的函數(shù)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析鏈?zhǔn)讲僮鱌andas的鏈?zhǔn)讲僮魇且环N優(yōu)雅且簡(jiǎn)潔的方法,通過連續(xù)調(diào)用多個(gè)方法來處理數(shù)據(jù),而不需要將中間結(jié)果存儲(chǔ)在臨時(shí)變量中。鏈?zhǔn)讲僮骺梢允勾a更具可讀性和可維護(hù)性。為了避免潛在的問題,鏈?zhǔn)讲僮魍ǔEcDataFrame的方法結(jié)合使用,這些方法返回副本而不是在原地修改數(shù)據(jù)。語(yǔ)法格式:df.<操作1>.<操作2>.<操作3>.….<操作N>財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析pipe()函數(shù)Series,DataFrame,GroupBy等對(duì)象pipe()函數(shù):x.pipe(f,*args,**kwargs),等同于f(x,*args,**kwargs)函數(shù)處理。即x作為參數(shù)傳遞給函數(shù)f處理,該函數(shù)應(yīng)用于整個(gè)x數(shù)據(jù)。以DataFrame為例,語(yǔ)法格式:df.pipe(<函數(shù)名>,<傳給函數(shù)的參數(shù)列表>)f(g(h(df),arg1=a),arg2=b,arg3=c),用pipe()可以把函數(shù)連接起來,語(yǔ)法格式:(df.pipe(h).pipe(g,arg1=a).pipe(f,arg2=b,arg3=c))財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析apply()函數(shù)如果要操作
DataFrame的行或者列,可以使用apply()函數(shù),可選參數(shù)axis,并且默認(rèn)按列操作。語(yǔ)法格式:df.apply(func,
#函數(shù),應(yīng)用于每列或每行的函數(shù)axis=0,
#{0or‘index’,1or‘columns’},默認(rèn)為0,應(yīng)用函數(shù)的軸方向*args,**kwds)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析applymap()或map()函數(shù)df.applymap()
可做到元素級(jí)函數(shù)應(yīng)用,就是對(duì)DataFrame中所有的元素(不包含索引)應(yīng)用函數(shù)處理。使用lambda時(shí),變量是指每一個(gè)具體的值。語(yǔ)法格式:DataFrame.applymap(func,na_action=None,**kwargs)其中
na_action:類型:{None,'ignore'}作用:指定是否忽略NaN值None(默認(rèn)):對(duì)NaN值應(yīng)用函數(shù)'ignore':跳過NaN值,不對(duì)其應(yīng)用函數(shù)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析【本章小結(jié)】介紹了Pandas以一個(gè)數(shù)據(jù)集為操作對(duì)象的一般化處理,包括DataFrame和Series的數(shù)據(jù)數(shù)值計(jì)算,數(shù)據(jù)集利用pipe()、apply()和applymap()進(jìn)行函數(shù)處理,以及數(shù)據(jù)集的缺失值和重復(fù)值等數(shù)據(jù)清洗。完成本章的學(xué)習(xí),讀者應(yīng)該能夠完成數(shù)據(jù)集進(jìn)行數(shù)據(jù)分析之前的處理工作。THANKS感謝關(guān)注財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Pandas數(shù)據(jù)集處理7PandasDatasetProcessing內(nèi)容概述本章學(xué)習(xí)目標(biāo)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析(1)掌握利用Pandas內(nèi)置函數(shù)對(duì)DataFrame進(jìn)行數(shù)據(jù)變形操作的方法;(3)掌握利用Pandas內(nèi)置函數(shù)對(duì)多個(gè)DataFrame進(jìn)行數(shù)據(jù)連接操作的方法。(2)掌握利用Pandas內(nèi)置對(duì)象GroupBy對(duì)DataFrame進(jìn)行分組操作的方法;目錄CONTENTS財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析第7章Pandas數(shù)據(jù)集處理 7.1數(shù)據(jù)變形7.2數(shù)據(jù)分組
7.3數(shù)據(jù)連接
【Python財(cái)務(wù)數(shù)據(jù)分析】——A股上市公司基本行業(yè)分類處理數(shù)據(jù)變形PartOne01財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析長(zhǎng)寬表的變形長(zhǎng)表和寬表是數(shù)據(jù)的兩種不同表示方式。長(zhǎng)表(longformat)通常用于存儲(chǔ)逐行記錄的數(shù)據(jù),而寬表(wideformat)則在列中存儲(chǔ)更多的維度信息。這兩種表示方式各有優(yōu)缺點(diǎn),并在不同的分析任務(wù)中各有用途。Pandas提供了多種方法來在長(zhǎng)表和寬表之間進(jìn)行轉(zhuǎn)換。長(zhǎng)表(LongFormat):每行表示一個(gè)觀測(cè)值,每列表示一個(gè)變量。長(zhǎng)表通常具有重復(fù)的行索引。寬表(WideFormat):每行表示一個(gè)觀測(cè)單位,每列表示一個(gè)變量的不同維度。寬表通常具有更多的列。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析長(zhǎng)寬表的變形財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析長(zhǎng)寬表的變形財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析pivot()函數(shù)1)整理透視Pivot()函數(shù)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析pivot()函數(shù)1)整理透視Pivot()函數(shù)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析pivot_table()函數(shù)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析pivot_table()函數(shù)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析melt()函數(shù)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析melt()函數(shù)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析wide_to_long()函數(shù)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析wide_to_long()函數(shù)數(shù)據(jù)分組PartThere03財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析groupby()函數(shù)1)分組要素分組是根據(jù)一定的規(guī)則進(jìn)行數(shù)據(jù)劃分,將一個(gè)數(shù)據(jù)集劃分成若干個(gè)小的區(qū)域,然后可以針對(duì)若干個(gè)小區(qū)域進(jìn)行數(shù)據(jù)處理。df.groupby()
函數(shù)是按指定字段對(duì)DataFrame行分組,生成一個(gè)分組器對(duì)象,然后再把這個(gè)對(duì)象的各個(gè)字段按一定的聚合方法輸出。因此,df.groupby()
函數(shù)的一般化應(yīng)用格式:df.groupby(分組依據(jù))[數(shù)據(jù)來源].使用操作財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析groupby()函數(shù)groupby()函數(shù)的分組依據(jù)有多種形式。(1)列名構(gòu)成的列表在groupby()函數(shù)中傳入相應(yīng)列名構(gòu)成的列表作為分組依據(jù)。(2)條件表達(dá)式groupby()函數(shù)的分組依據(jù)是直接可以從列中按照名字獲取的。還可以通過一定的復(fù)雜邏輯條件來分組。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析groupby()函數(shù)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析分組操作groupby()方法實(shí)現(xiàn)分組聚合的過程可以分為以下3個(gè)階段。?分組(Split):將數(shù)據(jù)按照標(biāo)準(zhǔn)拆分成多個(gè)組。?應(yīng)用(Apply):將一個(gè)指定函數(shù)應(yīng)用于拆分后的每一組數(shù)據(jù),產(chǎn)生一個(gè)新值。?合并(Combine):將各組產(chǎn)生的結(jié)果合并成一個(gè)新的對(duì)象。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Groupby對(duì)象groupby對(duì)象的屬性和方法(部分)屬性和方法說明示例ngroups可以訪問組數(shù)量gb.ngroupsgroups組名映射組索引列表的字典gb.groups.keys()indices鍵是創(chuàng)建的組,值是df中每組的實(shí)例的軸標(biāo)簽列表或索引gb.indicessize()統(tǒng)計(jì)每個(gè)組的元素個(gè)數(shù)gb.size()get_group()直接獲取所在組對(duì)應(yīng)的行g(shù)b.get_group(('中國(guó)平安','環(huán)境')).iloc[:,:2]遍歷對(duì)象組名和分組DataFramefor
name,
entries
in
gb:
print(name)
print(entries.head(2),
'\n\n')財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析組應(yīng)用函數(shù)將原始數(shù)據(jù)并分組之后,我們可以對(duì)每個(gè)組執(zhí)行以下操作之一或組合:聚合(Aggregation):計(jì)算每個(gè)組的匯總統(tǒng)計(jì)量變換(Transformation):按組進(jìn)行操作,如計(jì)算每個(gè)組的z-score值過濾(Filtration):根據(jù)預(yù)定義的條件拒絕某些組1).聚合聚合函數(shù)通常要求返回標(biāo)量值,常用的函數(shù)包括:
max,min,mean,median,count,all,any,idxmax,idxmin,mad,nunique,skew,quantile,sum,std,var,sem,size和prod等。2).變換GroupBy對(duì)象的transform()函數(shù),與agg()聚合函數(shù)不同,其返回值為與源數(shù)據(jù)同長(zhǎng)度的序列,如累計(jì)函數(shù)cumcount,cumsum,cumprod,cummax和cummin等,使用方式和聚合方法類似。3).過濾分組過濾可以被視為行過濾的推廣,指的是如果對(duì)一個(gè)組的全體所在行進(jìn)行統(tǒng)計(jì)的結(jié)果返回
True則會(huì)被保留,F(xiàn)alse則該組會(huì)被過濾,最后把所有未被過濾的組其對(duì)應(yīng)的所在行拼接起來作為DataFrame返回?cái)?shù)據(jù)連接PartFour03財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析數(shù)據(jù)連接的概念1)關(guān)系型數(shù)據(jù)的連接示意圖(鍵值唯一)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析數(shù)據(jù)連接的概念2)關(guān)系型數(shù)據(jù)的連接示意圖(笛卡爾積)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析值連接merge()函數(shù)主要參數(shù)說明:l
left/right:2個(gè)不同的DataFrame對(duì)象l
on:指定用于連接的鍵,2個(gè)DataFrame共同的鍵。不指定,以2個(gè)DataFrame的列名交集作為連接鍵l
left_on/right_on:該參數(shù)在左、右列標(biāo)簽名不相同,指定連接鍵的列名l
left_index/
right_index:布爾參數(shù),True則使用行索引作為連接鍵,默認(rèn)為Falsel
how:要執(zhí)行的合并類型,從
{'left',
'right',
'outer',
'inner'}中取值,默認(rèn)為'inner'內(nèi)連接財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析索引連接join()函數(shù)join()函數(shù)來處理索引連接,參數(shù)設(shè)置與merge()函數(shù)類似。on參數(shù)指索引名,單層索引時(shí)省略參數(shù)表示按照當(dāng)前索引連接。join()函數(shù)的語(yǔ)法格式:財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析數(shù)據(jù)拼接concat()函數(shù)數(shù)據(jù)拼接concat()函數(shù)也稱方向連接函數(shù),實(shí)現(xiàn)縱向和橫向連接,將數(shù)據(jù)連接后會(huì)形成一個(gè)新的DataFrame。concat()
函數(shù)可以沿著行或者列進(jìn)行操作,同時(shí)可以指定非合并軸的合并方式(合集、交集等)。concat()函數(shù)語(yǔ)法格式:【Python財(cái)務(wù)數(shù)據(jù)分析】
——A股上市公司行業(yè)分類處理PartPractice05財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析實(shí)踐1.數(shù)據(jù)清洗讀入<公司基本信息.xlsx>文件,將數(shù)據(jù)集[行業(yè)代碼B]列,拆分為[行業(yè)門類碼]和[行業(yè)大類碼]。2.變形操作針對(duì)1.得到的數(shù)據(jù)集,考察每個(gè)行業(yè)門類的公司數(shù)量,注冊(cè)資本的最大值,最小值和均值3.數(shù)據(jù)連接針對(duì)1.得到的數(shù)據(jù)集,增加[行業(yè)門類]和[行業(yè)大類]數(shù)據(jù)列4.分組操作新公司基本信息數(shù)據(jù)集df_com_new,分組處理。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析【本章小結(jié)】數(shù)據(jù)集基于業(yè)務(wù)關(guān)系可以設(shè)定為長(zhǎng)表和寬表,這取決于標(biāo)簽(行列索引)和數(shù)據(jù)值之間的轉(zhuǎn)化。Pandas可對(duì)多個(gè)數(shù)據(jù)集進(jìn)行關(guān)聯(lián)操作,數(shù)據(jù)集有很多聚合函數(shù),但是需要對(duì)數(shù)據(jù)集分組、分層聚合。因此Pandas提供了GroupBy對(duì)象,該對(duì)象有實(shí)用處理方法和屬性。完成本章的學(xué)習(xí),讀者應(yīng)該能夠基本掌握Pandas的核心內(nèi)容。完成本章的學(xué)習(xí),我們基本掌握的Pandas的核心內(nèi)容。其他數(shù)據(jù)處理,如缺失值處理,重復(fù)值處理等,請(qǐng)自學(xué)掌握。THANKS感謝關(guān)注財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析數(shù)據(jù)可視化8DataVisualization內(nèi)容概述本章學(xué)習(xí)目標(biāo)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析(1)理解數(shù)據(jù)分析中不同類型數(shù)據(jù)的含義和統(tǒng)計(jì)學(xué)意義(5)能夠利用Matplotlib、Seaborn進(jìn)行Python財(cái)務(wù)數(shù)據(jù)分析。(4)掌握Matplotlib、Seaborn中基本圖形的繪制方法;(2)熟練掌握Matplotlib繪圖的基本過程;(3)熟悉Matplotlib對(duì)象的屬性和方法;
目錄CONTENTS財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析第8章數(shù)據(jù)可視化6.1Matplotlib入門
6.2定量和定性數(shù)據(jù)
【Python財(cái)務(wù)數(shù)據(jù)分析】——財(cái)務(wù)數(shù)據(jù)的可視化基礎(chǔ)圖形Matplotlib入門PartOne01財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析數(shù)據(jù)可視化數(shù)據(jù)的圖形呈現(xiàn)是探索、分析數(shù)據(jù)的常用方法。相對(duì)于文字表述,圖形更加直觀且形象化,更適合人類的思維模式理解。使用圖形來表示數(shù)據(jù)的方法稱為數(shù)據(jù)可視化。數(shù)據(jù)以圖形圖像形式表示,可以揭示隱藏的數(shù)據(jù)特征,直觀傳達(dá)關(guān)揵信息;輔助建立數(shù)據(jù)分析模型,展示分析結(jié)果。Matplotlib和Seaborn是Python繪圖第三方庫(kù),同時(shí)Pandas集成了Matplotlib中的常用可視化圖形接口,可通過Series和DataFrame兩種數(shù)據(jù)結(jié)構(gòu)面向?qū)ο蟮慕涌诜绞胶?jiǎn)單調(diào)用。Pandas繪圖中僅集成了常用的圖表接口,更多復(fù)雜的繪圖需求往往還需依賴Matplotlib或者其他可視化庫(kù)。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Matplotlib繪圖過程1)導(dǎo)入模塊importmatplotlib.pyplotasplt2)獲取繪圖數(shù)據(jù)3)繪圖4)裝飾圖形5)保存與顯示圖形繪圖過程,雖然簡(jiǎn)單,但是從面向?qū)ο蟮囊暯强捶炊缓美斫?。原因是,在繪圖的過程隱式地創(chuàng)建畫布(figure)和繪圖區(qū)域(axes)。因此我們不推薦。使用plt的屬性和方法賦予畫布和繪圖區(qū)域,完成繪圖的過程更清晰,而且可以繪制更復(fù)雜的圖形。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Matplotlib繪圖對(duì)象和類畫布Figure、子圖Axes和數(shù)軸Axis關(guān)系示意圖Figure是容納多個(gè)Axes的畫板或畫布,而Axes則是所有圖標(biāo)數(shù)據(jù)、圖例配置等繪圖形元素的容器,稱為一個(gè)繪圖區(qū)域。面向?qū)ο蟮睦L圖,就是將plt中的圖形賦值給一個(gè)Figure或Axes實(shí)例,通過調(diào)用Figure或Axes兩類實(shí)例的方法完成繪圖。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Matplotlib繪圖對(duì)象和類1)創(chuàng)建畫布創(chuàng)建畫布,包括創(chuàng)建figure和axes對(duì)象,常用方法:(1)plt.figure(),接收一個(gè)元組作為figsize參數(shù)設(shè)置圖形大小,返回一個(gè)figure對(duì)象;(2)plt.axes(),接收一個(gè)figure或在當(dāng)前畫布上添加一個(gè)子圖,返回該axes對(duì)象,并將其設(shè)置為“當(dāng)前”子圖,缺省時(shí)會(huì)在繪圖前自動(dòng)添加;(3)plt.subplot(),接收3個(gè)數(shù)字或1個(gè)3位數(shù)作為子圖的行數(shù)、列數(shù)和當(dāng)前子圖索引。索引從1開始,返回一個(gè)axes對(duì)象用于繪圖操作。可以理解成是先隱式執(zhí)行了plt.figure,然后在創(chuàng)建的figure對(duì)象上添加子圖,并返回當(dāng)前子圖實(shí)例;(4)plt.subplots(),接收一個(gè)行數(shù)nrows和列數(shù)ncols作為參數(shù),創(chuàng)建一個(gè)figure對(duì)象和相應(yīng)數(shù)量的axes對(duì)象,同時(shí)返回該figure對(duì)象和axes對(duì)象嵌套列表,并默認(rèn)選擇最后一個(gè)子圖作為“當(dāng)前”圖。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Matplotlib繪圖對(duì)象和類2)子圖——axes對(duì)象(1)創(chuàng)建axes對(duì)象Matplotlib定義了一個(gè)Axes(軸域)類,創(chuàng)建的對(duì)象被稱為axes對(duì)象(即軸域?qū)ο?,或稱為子圖)。axes對(duì)象可以理解為有軸(axis)的集合,一般包含基本的2個(gè)axis,用來確定一個(gè)區(qū)域。一個(gè)畫布設(shè)置若干繪圖區(qū)域,從而實(shí)現(xiàn)對(duì)畫布的布局。默認(rèn)情況下,函數(shù)創(chuàng)建一個(gè)標(biāo)準(zhǔn)的axes對(duì)象填滿整個(gè)圖表區(qū)域。當(dāng)只有畫布上只有一張子圖時(shí),可以用plt代替ax。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Matplotlib繪圖對(duì)象和類(2)axes對(duì)象的屬性和方法axes的屬性和方法,本質(zhì)上是由plt賦予的。因此axes的成員和plt類似,但是也要注意個(gè)別方法有細(xì)微差異。2)子圖——axes對(duì)象①plot()繪圖②grid()網(wǎng)格格式設(shè)置③xscale()或yscale(),spines()坐標(biāo)軸④xlim()和ylim()坐標(biāo)軸范圍⑤xticks()和yticks()刻度和刻度標(biāo)簽⑥legend()繪制圖例財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Matplotlib繪圖對(duì)象和類plt.subplot()函數(shù)可以均等地劃分畫布,語(yǔ)法格式:3)subplot()函數(shù)和add_subplot()函數(shù)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Matplotlib繪圖對(duì)象和類3)subplot()函數(shù)和add_subplot()函數(shù)nrows×nclos表示子圖數(shù)量,subplot(233)表示在當(dāng)前畫布的右上角創(chuàng)建一個(gè)2行3列的繪圖區(qū)域,同時(shí)選擇在第3個(gè)位置繪制子圖。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Matplotlib繪圖對(duì)象和類4)subplots()函數(shù)subplots()函數(shù)與subplot()函數(shù)類似。其不同之處在于subplots()既創(chuàng)建了一個(gè)包含子圖區(qū)域的畫布,又創(chuàng)建了子圖對(duì)象,而subplot()只是創(chuàng)建一個(gè)在當(dāng)前畫布下的子圖對(duì)象。subplots的函數(shù)語(yǔ)法格式:fig,ax=plt.subplots(nrows,ncols)nrows與ncols表示兩個(gè)整數(shù)參數(shù),其他指定子圖所占的行數(shù)、列數(shù)。函數(shù)的返回值是一個(gè)元組,包括一個(gè)畫布對(duì)象和所有的子圖對(duì)象。其中子圖對(duì)象的數(shù)量等于nrows×ncols,且每個(gè)axes對(duì)象均可通過索引值訪問。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Matplotlib繪圖對(duì)象和類5)subplot2grid()函數(shù)plt.subplot2grid()函數(shù)能夠在畫布的特定位置創(chuàng)建axes對(duì)象。還可以使用不同數(shù)量的行、列來創(chuàng)建跨度不同的繪圖區(qū)域。即subplot2gird()函數(shù)可以以非等分的形式對(duì)畫布進(jìn)行切分,并按照繪圖區(qū)域的大小來展示最終繪圖結(jié)果。plt.subplot2grid()函數(shù)語(yǔ)法格式:plt.subplot2grid(shape,#規(guī)定的網(wǎng)格區(qū)域作為畫布劃分location,#子圖繪制位置,初始位置(0,0)第1行第1列rowspan,#子圖跨越網(wǎng)格區(qū)域行數(shù)colspan)#圖跨越網(wǎng)格區(qū)域列數(shù)定量和定性數(shù)據(jù)PartTwo02財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析定性與定量數(shù)據(jù)是指對(duì)客觀事件進(jìn)行記錄并可以鑒別的符號(hào),也就是對(duì)事物的性質(zhì)、狀態(tài)以及相互關(guān)系等進(jìn)行記載的物理符號(hào)或這些物理符號(hào)的組合。數(shù)據(jù)按性質(zhì)可分為:(1)定性數(shù)據(jù)(qualitativedata)在統(tǒng)計(jì)學(xué)上的包括分類數(shù)據(jù)和順序數(shù)據(jù),是一組表示事物性質(zhì)、規(guī)定事物類別的文字表述型數(shù)據(jù)。見表示事物屬性的數(shù)據(jù)(注冊(cè)地、上市公司板塊、公司行業(yè)、債券評(píng)級(jí)等)。(2)定量數(shù)據(jù)(Quantitativedata)的,反映事物數(shù)量特征的數(shù)據(jù),如金額、價(jià)格、重量、速度等物理量。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析數(shù)據(jù)分類4種測(cè)定尺度的意義與特征:分類(nominal)尺度:無序類別數(shù)據(jù)。分類尺度將數(shù)字作為事物總體中不同類別/組別的代碼,是最低層次的尺度。順序(ordinal)尺度:順序數(shù)據(jù)。順序尺度不但可以用數(shù)表示量的不同類別,而且也反映量的大小順序關(guān)系,從而可以列出各類的次序。定距(interval)尺度:間隔數(shù)據(jù)。定距尺度是對(duì)事物類別或次序之間間距的計(jì)量,它通常使用度量衡單位作為計(jì)量尺度。定距尺度是比順序尺度高一層次的計(jì)量尺度。比例(ratio)尺度:連續(xù)數(shù)據(jù)。比例尺度是在定距尺度的基礎(chǔ)上,確定可以作為比較的基數(shù),將兩種相關(guān)的數(shù)加以對(duì)比,而形成新的相對(duì)數(shù)。【財(cái)務(wù)應(yīng)用與實(shí)踐】
財(cái)經(jīng)數(shù)據(jù)的可視化基礎(chǔ)圖形PartPractice05財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析類別數(shù)據(jù)可視化——柱狀圖柱狀圖是一種用矩形柱來表示數(shù)據(jù)分類的圖表,柱狀圖可以垂直繪制,也可以水平繪制,它的高度與其所表示的數(shù)值成正比關(guān)系。柱狀圖顯示了不同類別之間的比較關(guān)系,圖表的一個(gè)軸指定被比較的類別,另一個(gè)軸則表示具體的類別值。Matplotlib提供了bar()和barh()函數(shù)來繪制柱狀圖。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析類別數(shù)據(jù)可視化——餅圖餅圖只適用排列在數(shù)據(jù)幀的一列或一行中的數(shù)據(jù)。餅圖顯示一個(gè)數(shù)據(jù)系列中各項(xiàng)的大小與各項(xiàng)總和的比例。即顯示為數(shù)據(jù)占整個(gè)餅圖的百分比。Matplotlib提供了pie()函數(shù)來繪制餅圖。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析順序數(shù)據(jù)可視化——箱線圖四分位數(shù)是把所有數(shù)值由小到大排列并分成四等份,處于三個(gè)分割點(diǎn)位置的數(shù)值分別是:第一四分位數(shù)(Q1),等于該樣本中所有數(shù)值由小到大排列后第25%的數(shù)字第二四分位數(shù)(Q2),又稱“中位數(shù)”,等于該樣本中所有數(shù)值由小到大排列后第50%的數(shù)字第三四分位數(shù)(Q3),等于該樣本中所有數(shù)值由小到大排列后第75%的數(shù)字第三、四分位數(shù)與第一四分位數(shù)的差距又稱四分位距(IQR)。計(jì)算公式:IQR
=
Q3
?
Q1財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析順序數(shù)據(jù)可視化——箱線圖箱線圖作為描述統(tǒng)計(jì)的工具之一,其可以直觀明了地識(shí)別數(shù)據(jù)中的異常值,非對(duì)稱分布數(shù)據(jù)的特征,也可以用來對(duì)若干批次數(shù)據(jù)比較分析。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析間隔數(shù)據(jù)可視化——直方圖直方圖是一種統(tǒng)計(jì)圖表,用于展示數(shù)據(jù)的分布情況。它的主要特點(diǎn)包括:直觀展示數(shù)據(jù)的頻率分布。通過矩形的高度來表示數(shù)據(jù)落在各個(gè)區(qū)間的數(shù)量或頻率。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析比例數(shù)據(jù)可視化——散點(diǎn)圖散點(diǎn)圖來表述兩個(gè)連續(xù)變量X和Y之間的關(guān)系,圖中的每個(gè)點(diǎn)表示目標(biāo)數(shù)據(jù)集中的每個(gè)樣本,在直角坐標(biāo)系平面上數(shù)據(jù)點(diǎn)的分布和因變量隨自變量而變化的大致趨勢(shì)。由此趨勢(shì)可以選擇合適的函數(shù)進(jìn)行擬合,以用來表示某些模型,進(jìn)而找到變量之間的函數(shù)關(guān)系。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析比例數(shù)據(jù)可視化——蜂巢圖當(dāng)有成千上萬的數(shù)據(jù)樣本點(diǎn)時(shí),散點(diǎn)圖會(huì)變得過于密集而無法解釋。當(dāng)數(shù)據(jù)量大我們采用蜂巢圖(Hexbin)。其將圖表劃分為了一個(gè)六邊形區(qū)域,基于聚合方法(例如點(diǎn)的數(shù)量),為區(qū)域的不同部分添加不同深度的顏色。hexbin()函數(shù)用于制作點(diǎn)x,y的2D六角形裝箱圖,顏色深度表示樣本點(diǎn)數(shù)量財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析【本章小結(jié)】我們本章學(xué)習(xí)了Matplotlib和Seaborn簡(jiǎn)單的應(yīng)用??梢暬菙?shù)據(jù)分析過程中不可或缺步驟和方法。關(guān)于可視化的知識(shí)內(nèi)容很多,學(xué)習(xí)的初期掌握每個(gè)數(shù)據(jù)可視化每個(gè)細(xì)節(jié)不是很容易,也沒有必要。Matplotlib和Seaborn案例豐富,本章并沒有介紹它們完整的知識(shí)體系,而是試圖通過具體的實(shí)例,展示其功能。讀者需要掌握基礎(chǔ)操作之后,首先做到模仿繪圖,之后逐步掌握繪圖的細(xì)節(jié)和技巧,在實(shí)踐中漸漸深入提升可視化技能。THANKS感謝關(guān)注財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析文本數(shù)據(jù)處理9-1TextDataProcessing內(nèi)容概述1本章學(xué)習(xí)目標(biāo)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析(1)掌握Series數(shù)據(jù)類型特征和轉(zhuǎn)化;(5)利用str對(duì)象處理財(cái)務(wù)文本數(shù)據(jù)。(4)掌握文本數(shù)據(jù)的拆分、合并、匹配、提取和替換;(2)熟悉str對(duì)象的屬性和方法;(3)熟悉正則表達(dá)式基礎(chǔ)語(yǔ)法;目錄CONTENTS財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析9.1文本數(shù)據(jù)處理
1Pandas數(shù)據(jù)類型綜述
2str對(duì)象
3正則表達(dá)式基礎(chǔ)
4文本數(shù)據(jù)處理的5類操作
【財(cái)務(wù)應(yīng)用與實(shí)踐】上市公司基本信息文本數(shù)據(jù)處理
Pandas數(shù)據(jù)類型綜述PartOne01財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Pandas數(shù)據(jù)類型Pandas類型(dtype)Python類型(type)說明objectstr字符串,存儲(chǔ)文本數(shù)據(jù)等int64int整數(shù)float64float浮點(diǎn)數(shù)boolboolTrue/False值datetime64NA日期時(shí)間的值timedelta[ns]NA日期時(shí)間的差categoryNA統(tǒng)計(jì)中分類變量財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析數(shù)據(jù)類型轉(zhuǎn)換astype()函數(shù)是pandas中用于轉(zhuǎn)換數(shù)據(jù)類型的方法。它可以將DataFrame或Series的數(shù)據(jù)類型轉(zhuǎn)換為指定的類型。語(yǔ)法格式:DataFrame.astype(dtype,copy=True,errors='raise')Series.astype(dtype,copy=True,errors='raise')errors:類型:{'raise','ignore'},默認(rèn)為'raise'作用:指定在轉(zhuǎn)換期間如何處理錯(cuò)誤。'raise':如果發(fā)生錯(cuò)誤,則引發(fā)異常。'ignore':忽略錯(cuò)誤,保留原始數(shù)據(jù)。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析分類數(shù)據(jù)category類型在處理具有固定類別或需要特定排序的數(shù)據(jù)時(shí)非常有用,特別是在數(shù)據(jù)分析和處理中,可以提高數(shù)據(jù)的可讀性、內(nèi)存效率和操作便利性。屬性和方法說明舉例catcat對(duì)象df['員工'].catcat.categoriesIndex類型類別的本身df['員工'].cat.categoriescat.ordered是否有序df['員工'].cat.categoriescat.codes序列的類別會(huì)被賦予唯一的整數(shù)編號(hào)df['員工'].cat.codesstr對(duì)象PartTwo02財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Python字符串簡(jiǎn)單重申一下有關(guān)字符串的相關(guān)概念:字符串的長(zhǎng)度:字符串中字符的數(shù)目n稱為字符串的長(zhǎng)度;空字符串:零個(gè)字符構(gòu)成的串,長(zhǎng)度為0,可以表示為"";子串:字符串中任意個(gè)連續(xù)的字符組成的子序列;字符串的前綴:起始于位置為0、長(zhǎng)度為k的子串稱為「前綴」;字符串的后綴:終止于字符串末尾位置(n-1),長(zhǎng)度為k的子串稱為「后綴」;字符串之間的比較:通過組成字符串的字符之間的字符編碼來決定的。而字符編碼指的是字符在對(duì)應(yīng)字符集中的序號(hào)。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析str對(duì)象屬性和方法Pandas通過定義在Index或Series上的str屬性,來處理類型為object或string的文本數(shù)據(jù)1)字母型函數(shù)字符串函數(shù)中有關(guān)字母型的概念是針對(duì)英文字符串而言的。upper(),lower(),title(),capitalize()和swapcase()
這5個(gè)函數(shù)主要用于字母的大小寫轉(zhuǎn)化。s=pd.Series(['industry(工業(yè))','CN','ascale','FinancialApp'])財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析str對(duì)象屬性和方法2)pd.to_numeric()函數(shù)pd.to_numeric()函數(shù)能夠?qū)ψ址袷降臄?shù)值進(jìn)行快速轉(zhuǎn)換和篩選。s=pd.Series(['10','2.1','2e5','<>'])財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析str對(duì)象屬性和方法3)統(tǒng)計(jì)型函數(shù)count
()和
len()函數(shù)的作用分別是返回出現(xiàn)正則模式的次數(shù)和字符串的長(zhǎng)度。s=pd.Series(['**','B***','Ab$'])財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析str對(duì)象屬性和方法4)格式型函數(shù)格式型函數(shù)第一類函數(shù)用于數(shù)據(jù)清洗,空格等字符消除,分別代表去除兩側(cè)空格strip()、右側(cè)空格rstrip()和左側(cè)空格lstrip()。my_index=pd.Index(['列A','列B','列C'])my_code=pd.Series([1,323,600618]).astype('string')正則表達(dá)式基礎(chǔ)PartThere03財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析正則表達(dá)式概述正則表達(dá)式是一種文本模式,包括普通字符(例如,a-z之間的字母)和特殊字符(元字符),描述匹配字符串的特定模式,用來查找、替換、驗(yàn)證和提取文本數(shù)據(jù)等操作。簡(jiǎn)單地說,正則表達(dá)式是一個(gè)特殊的字符序列,其用于檢查一個(gè)字符串是否與某種模式匹配。通過使用正則表達(dá)式可以做到:數(shù)據(jù)驗(yàn)證。通過測(cè)試字符串,得到需要的字符串模式。如電話號(hào)是有模式的數(shù)字組成的固定位數(shù)的字符串;匹配替換?;谀J狡ヅ鋸奶崛∽幼址?,進(jìn)而進(jìn)行后續(xù)操作;替換文本。可以使用正則表達(dá)式識(shí)別文檔中的特定文本,刪除或者替換文本。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析正則表達(dá)式語(yǔ)法1)正則表達(dá)式的構(gòu)造正則表達(dá)式是由普通字符和特殊字符(稱為“元字符”)組成的文字模式(pattern)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析正則表達(dá)式語(yǔ)法1)正則表達(dá)式的構(gòu)造正則表達(dá)式是由普通字符和特殊字符(稱為“元字符”)組成的文字模式(pattern)(1)普通字符普通字符包括沒有被指定為元字符的所有可打印和不可打印字符。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析正則表達(dá)式語(yǔ)法1)正則表達(dá)式的構(gòu)造正則表達(dá)式是由普通字符和特殊字符(稱為“元字符”)組成的文字模式(pattern)(2)元字符在正則表達(dá)式中,通常使用一些特殊的字符來描述模式,這些特殊的字符稱為元字符。常用的元字符包括:.[]*+?{}()|\^$財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析正則表達(dá)式語(yǔ)法2)正則表達(dá)式基礎(chǔ)語(yǔ)法(1)【.】元字符元字符點(diǎn)【.】匹配除換行符【\n】之外的任何單字符。(2)匹配元字符像點(diǎn)【.】、【\】等是元字符。要匹配它們,需要請(qǐng)使用【\.】和【\\】財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析正則表達(dá)式語(yǔ)法2)正則表達(dá)式基礎(chǔ)語(yǔ)法(3)限定符限定符用來指定正則表達(dá)式的一個(gè)給定組件必須出現(xiàn)多少次才能滿足匹配。限定符有
*
、
+
、
?、
{n}、
{n,}
、或
{n,m}
共6種。s='Apple蘋果!\nanApple\np'財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析正則表達(dá)式語(yǔ)法2)正則表達(dá)式基礎(chǔ)語(yǔ)法(4)字符集和否定字符集字符集也稱為字符類,是匹配方括號(hào)中包含的任意字符。分兩種情況:①[],匹配方括號(hào)中包含的任意字符。②[^],否定字符類,匹配方括號(hào)中不包含的任意字符。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析正則表達(dá)式語(yǔ)法2)正則表達(dá)式基礎(chǔ)語(yǔ)法(4)字符集和否定字符集字符集也稱為字符類,是匹配方括號(hào)中包含的任意字符。分兩種情況:①[],匹配方括號(hào)中包含的任意字符。②[^],否定字符類,匹配方括號(hào)中不包含的任意字符。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析正則表達(dá)式語(yǔ)法2)正則表達(dá)式基礎(chǔ)語(yǔ)法(5)字符組字符組是一組寫在圓括號(hào)內(nèi)的子模式
(…)。如(xyz),按照確切的順序匹配字符xyz。還可以使用元字符【|】,表示“或”關(guān)系財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析正則表達(dá)式語(yǔ)法2)正則表達(dá)式基礎(chǔ)語(yǔ)法(6)定位符在正則表達(dá)式中,使用定位符檢查匹配符號(hào)是否是起始符號(hào)或結(jié)尾符號(hào)。插入符號(hào)【^】符號(hào)用于檢查匹配字符是否是輸入字符串的第一個(gè)字符;$】符號(hào)用于檢查匹配字符是否是輸入字符串的最后一個(gè)字符財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析正則表達(dá)式語(yǔ)法2)正則表達(dá)式基礎(chǔ)語(yǔ)法(7)斷言在使用正則表達(dá)式時(shí),有時(shí)我們需要捕獲的內(nèi)容前后必須是特定內(nèi)容,但又不捕獲這些特定內(nèi)容的時(shí)候,需要帶有斷言正則表達(dá)式。斷言是非捕獲組內(nèi)容。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析正則表達(dá)式語(yǔ)法2)正則表達(dá)式基礎(chǔ)語(yǔ)法(7)斷言①正向先行斷言。正向先行斷言格式:
x(?=y)②負(fù)向先行斷言。負(fù)向先行斷言格式:
x(?!y)③正向后行斷言。正向后行斷言格式:
(?<=y)x④負(fù)向后行斷言。負(fù)向后行斷言格式:
(?<!y)x財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析正則表達(dá)式語(yǔ)法2)正則表達(dá)式基礎(chǔ)語(yǔ)法(8)修飾符修飾符也稱為標(biāo)記,正則表達(dá)式的修飾符用于指定額外的匹配策略。修飾符不寫在正則表達(dá)式里,位于表達(dá)式之外,語(yǔ)法格式:/pattern/flags財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析正則表達(dá)式語(yǔ)法2)正則表達(dá)式基礎(chǔ)語(yǔ)法(9)使用反向引用在正則表達(dá)式中,\n
(n為整數(shù))可以用來引用前面捕獲組中匹配的內(nèi)容。例如匹配重復(fù)的單詞:‘\b(\w+)\b\s+\文本數(shù)據(jù)處理的5類操作PartFour04財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析拆分split()函數(shù)按照能夠匹配的子串將Series/Index分割后返回列表或Series/DataFrame,語(yǔ)法格式:財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析合并合并操作有2個(gè)函數(shù),分別是
str.join()和str.cat()
。1)str.join()函數(shù)
str.join()表示用某個(gè)連接符把
Series
中的字符串列表連接起來,如果列表中出現(xiàn)了非字符串元素則返回缺失值。s.str.join(sep)只有1個(gè)參數(shù)sep,為合并所需的分隔符字符串2)str.cat()函數(shù)str.cat()按照給定分隔符合并Series/Index,語(yǔ)法格式:財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析匹配1)str.contains()函數(shù)str.contains()返回了每個(gè)字符串是否包含正則模式的布爾序列,語(yǔ)法格式:2)str.startswith()和str.endswith()函數(shù)str.startswith()和str.endswith()返回了每個(gè)字符串以給定模式為開始和結(jié)束的布爾序列,他們都不支持正則表達(dá)式。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析匹配3)str.match()函數(shù)如果需要用正則表達(dá)式來檢測(cè)開始或結(jié)束字符串的模式,可以使用
str.match()
,其返回了每個(gè)字符串起始處是否符合給定正則模式的布爾序列,語(yǔ)法格式:財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析提取str.extract()函數(shù)提取操作,是一種返回具體元素操作,首先是匹配操作,再根據(jù)匹配的結(jié)果提取捕獲組內(nèi)容并返回語(yǔ)法格式:str.extractall()不同于str.extract()只匹配一次,其會(huì)把所有符合條件的模式全部匹配出來。提取的多個(gè)結(jié)果,以多級(jí)索引的方式存儲(chǔ)。str.findall()的功能類似于str.extractall(),區(qū)別在于前者把結(jié)果存入列表中,而后者處理為多級(jí)索引,每個(gè)行只對(duì)應(yīng)一組匹配,而不是把所有匹配組合構(gòu)成列表。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析替換Series/Dataframe的str.replace()和replace()并不是一個(gè)函數(shù),在使用字符串替換時(shí)應(yīng)當(dāng)使用前者。
1)replace()函數(shù)replace()函數(shù)是Series/Dataframe某一個(gè)或匹配的值的整個(gè)值的替換,而str.replace不是改變值的部分。Series/Dataframe的replace()函數(shù)語(yǔ)法格式:財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析提取2)str.replace()函數(shù)Series/Dataframe的str.replace()函數(shù)某一個(gè)或匹配的值的部分值的替換,語(yǔ)法格式:財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析flags參數(shù)flags參數(shù)是用來指定正則表達(dá)式操作的額外選項(xiàng)。下面列出了常用的flags及其用法。re.I/re.IGNORECASE:忽略大小寫re.M/re.MULTILINE:多行匹配re.S/re.DOTALL:讓.可以匹配包括\n在內(nèi)的任意字符re.U/re.UNICODE:使用Unicode字符集而不是ASCII字符集【Python財(cái)務(wù)數(shù)據(jù)分析】——上市公司基本信息文本數(shù)據(jù)處理PartPractice05財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析【小結(jié)】本章是以Pandasstr對(duì)象為主要內(nèi)容,講述Pandas的文本處理的基礎(chǔ)用法。熟練掌握這些應(yīng)用會(huì)提升文檔處理和辦公自動(dòng)化能力。文本數(shù)據(jù)的處理,尤其是基于正則表達(dá)式操作較為復(fù)雜,本章學(xué)習(xí)的內(nèi)容是較為基礎(chǔ)的。較深的內(nèi)容需要借助其他第三方模塊,如中文分詞,詞性標(biāo)注,自然語(yǔ)言處理等,需要以后不斷學(xué)習(xí)拓展。THANKS感謝關(guān)注財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析時(shí)間序列數(shù)據(jù)處理9-2TimeSeriesDataProcessing內(nèi)容概述本章學(xué)習(xí)目標(biāo)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析(1)了解時(shí)間序列分析的應(yīng)用場(chǎng)景;(5)熟悉時(shí)間偏置DateOffset對(duì)象和窗口函數(shù);(4)掌握dt對(duì)象的屬性和方法;(2)掌握Datetimes數(shù)據(jù)類型的屬性和方法;(3)掌握Timedeltas數(shù)據(jù)類型的屬性和方法;(6)利用Pandas進(jìn)行簡(jiǎn)單的時(shí)間序列分析。目錄CONTENTS財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析9.2時(shí)間序列數(shù)據(jù)處理
1時(shí)間序列概述2時(shí)間點(diǎn) 3時(shí)間差 4時(shí)間偏置5窗口函數(shù)【Python財(cái)務(wù)數(shù)據(jù)分析】——財(cái)務(wù)數(shù)據(jù)的時(shí)間序列數(shù)據(jù)分析時(shí)間序列概述PartOne01財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析時(shí)間序列概述時(shí)間序列是按時(shí)間順序索引的一系列數(shù)據(jù)點(diǎn)。最常見的時(shí)間序列是在連續(xù)的等間隔時(shí)間點(diǎn)上獲得的序列有關(guān)時(shí)間序列的應(yīng)用場(chǎng)景,分為以下4種情況:(1)時(shí)間點(diǎn)。即特定的時(shí)刻,記錄時(shí)間維度的具體一個(gè)位置。(2)時(shí)間差。兩個(gè)時(shí)間點(diǎn)做差就得到了時(shí)間差。時(shí)間差可以是幾年,幾個(gè)月,幾天,幾分,幾秒,甚至小到納秒。因?yàn)槭菚r(shí)間差值,因此既可以是正數(shù),也可以是負(fù)數(shù)。(3)時(shí)間跨度。即以時(shí)間為計(jì)量的迭代單位,時(shí)間記錄迭代步長(zhǎng),以時(shí)間為計(jì)量的規(guī)律變化的一種時(shí)間差。(4)時(shí)間偏置。日期偏置是一種和日歷相關(guān)的特殊時(shí)間差,是與時(shí)間計(jì)量的不同單位進(jìn)制造成的特殊時(shí)間差。時(shí)間點(diǎn)PartTwo02財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析時(shí)間點(diǎn)時(shí)間點(diǎn)(Datetimes)問題,Pandas提供Timestamp、DatetimeIndex、datetime64[ns]3種數(shù)據(jù)類型。Timestamp對(duì)象是時(shí)間點(diǎn)元素類型,表示確切的一個(gè)時(shí)間點(diǎn);由Timestamp對(duì)象組成的序列是DatetimeIndex對(duì)象;DatetimeIndex對(duì)象可以作為Pandans的一個(gè)Series或者DataFrame的一列,數(shù)據(jù)類型為datetime64[ns]。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Timestamp的構(gòu)造與屬性Pandas提供Timestamp(時(shí)間戳)類構(gòu)造時(shí)間戳對(duì)象。單個(gè)時(shí)間戳的生成利用pd.Timestamp()實(shí)現(xiàn)Timestamp由date(日期)和time(時(shí)間)組成;其中日期又由year、month和day組成;時(shí)間由hour、minute和second組成。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Datetime序列一組時(shí)間戳可以組成時(shí)間序列DatetimeIndex。通過to_datetime()和date_range()函數(shù)生成時(shí)間序列,即把時(shí)間戳格式的對(duì)象轉(zhuǎn)換成為datetime64[ns]類型的時(shí)間序列range()和np.arange()函數(shù),pd.date_range()是一種生成連續(xù)間隔時(shí)間的一種方法語(yǔ)法格式:財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析時(shí)序類型dt對(duì)象Pandas在時(shí)序類型的序列上定義了dt對(duì)象來完成時(shí)間序列的相關(guān)操作。這些操作可以大致分為3類:dt屬性,時(shí)間戳判定,取整操作。1)dt屬性dt對(duì)象時(shí)間分量值屬性包括:date,time,year,month,day,hour,minute,second,microsecond,nanosecond,dayofweek,dayofyear,weekofyear,daysinmonth,quarter等2)時(shí)間戳判定dt對(duì)象時(shí)間戳判定包括主要用于測(cè)試是否為月/季/年的第一天或者最后一天等,如is_leap_year,is_month_end,is_month_start,is_quarter_end,is_quarter_start,is_year_end,is_year_start等3)dt取整操作dt取整操作包含round(),ceil(),floor()函數(shù),他們的公共參數(shù)為freq,常用的值包括:H(小時(shí)),min(分鐘),S(秒),即完成時(shí)間點(diǎn)的不同方式取整。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析dt索引和切片財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析dt索引和切片時(shí)間差PartThere03財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析時(shí)間差兩個(gè)時(shí)間戳(Timestamp)做差就得到了時(shí)間差(Timedeltas),Pandas中利用Timedelta對(duì)象來表示。類似于DatatimeIndex,一系列的時(shí)間差就組成TimedeltaIndex,而TimedeltaIndex置于DataFrame或Series中,其類型為timedelta64[ns]。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析創(chuàng)建Timedelta對(duì)象時(shí)間差可以理解為兩個(gè)時(shí)間戳的差,這里也可以通過pd.Timedelta()來構(gòu)造pd.Timestamp('2020010208:00:00')-pd.Timestamp('2020010107:35:00')pd.Timedelta(days=1,minutes=25)#需要注意是minutes,不是minute?;騪d.Timedelta('1days25minutes')#字符串生成財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Timedelta序列對(duì)于時(shí)間差序列的生成,需要pd.to_timedelta()方法,其類型為timedelta64[ns],示例代碼如下。td1=pd.date_range('2023-1-1','2023-3-1',periods=10)td2=td1+pd.Timedelta(days=1,minutes=45)*np.random.randint(10,size=10)ts=pd.to_timedelta(pd.Series(td2-td1))時(shí)間差序列也可以用timedelta_range()方法,參數(shù)與date_range()類似,示例代碼如下。pd.timedelta_range('1m','1000m',freq='1h')pd.timedelta_range('0h','1000h',periods=9)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析時(shí)間差dt對(duì)象對(duì)于Timedelta序列,同樣也定義了dt對(duì)象,接上例代碼。td_dt=(pd.Series(td2-td1)).dtTimedelta的dt對(duì)象定義了的屬性包括days,seconds,mircroseconds,nanoseconds等,與DatatimeIndex的dt對(duì)象類似。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Timedelta的運(yùn)算時(shí)間點(diǎn)是定距類型數(shù)據(jù),但是時(shí)間差卻是比例類型數(shù)據(jù),可以進(jìn)行加、減、乘、除運(yùn)算都有意義。時(shí)間偏置PartFour04財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析Offset對(duì)象Offset對(duì)象通過pd.offsets定義。當(dāng)使用加法(+)運(yùn)算時(shí)獲取離其最近的下一個(gè)日期,當(dāng)使用減法(-)運(yùn)算時(shí)獲取離其最近的上一個(gè)日期。[in]pd.Timestamp('20231006')+pd.offsets.WeekOfMonth(week=0,weekday=0)[out]Timestamp('2023-11-0600:00:00')[in]
pd.Timestamp('20231001')-pd.offsets.WeekOfMonth(week=0,weekday=0)[out]Timestamp('2023-09-0400:00:00')財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析偏置字符串pd.date_range()函數(shù)可以生成連續(xù)的日期時(shí)間序列語(yǔ)法格式:pd.date_range(start=None,end=None,periods=None,freq=None,tz=None,normalize=False,name=None,inclusive='both',*,unit=None,**kwargs)式中freq取值可用Offset對(duì)象,稱為頻率字符串,是
DateOffset
對(duì)象及其子類。窗口函數(shù)PartFive05財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析窗口函數(shù)窗口函數(shù)可以為每行數(shù)據(jù)進(jìn)行一次計(jì)算,因?yàn)榇翱诤瘮?shù)指定了數(shù)據(jù)窗口大小,可以在這個(gè)滑動(dòng)窗口里進(jìn)行計(jì)算并返回一個(gè)值。聚合函數(shù)只返回一行或?qū)Ψ纸M下的所有數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析滑動(dòng)窗口函數(shù)窗口函數(shù)就是一個(gè)可以在滑動(dòng)窗口實(shí)現(xiàn)各種統(tǒng)計(jì)操作的函數(shù)。一個(gè)滑動(dòng)窗口是一個(gè)移動(dòng)變化的小區(qū)間,所以窗口函數(shù)可以在不斷變化的小區(qū)間里實(shí)現(xiàn)各種復(fù)雜的統(tǒng)計(jì)分析。Pandasrolling()函數(shù)的語(yǔ)法格式:財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析時(shí)序的滑動(dòng)窗口所謂時(shí)序的滑窗函數(shù),即把滑動(dòng)窗口用freq關(guān)鍵詞代替。將偏移量傳遞給rolling()函數(shù),并使其根據(jù)傳遞的時(shí)間窗口生成可變大小的窗口。函數(shù)作用于每個(gè)時(shí)間點(diǎn),以及偏移量的時(shí)間增量?jī)?nèi)出現(xiàn)的所有先前值。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析時(shí)序的擴(kuò)張窗口擴(kuò)張窗口又稱累計(jì)窗口,可以理解為一個(gè)動(dòng)態(tài)長(zhǎng)度的窗口,其窗口的大小就是從序列開始處到具體操作的對(duì)應(yīng)位置,其使用的聚合函數(shù)會(huì)作用于這些逐步擴(kuò)張的窗口上?!綪ython財(cái)務(wù)數(shù)據(jù)分析】——財(cái)務(wù)數(shù)據(jù)的時(shí)間序列數(shù)據(jù)分析PartPractice05財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析【小結(jié)】本節(jié)主要介紹了時(shí)間序列的特殊數(shù)據(jù)處理。時(shí)間序列是財(cái)經(jīng)數(shù)據(jù)分析的重要內(nèi)容,因此Pandas對(duì)其有較豐富的對(duì)象屬性和方法。我們重點(diǎn)介紹Datatime和Timedeltas對(duì)象,他們組成的序列DatetimeIndex和TimedeltaIndex,以及他們?cè)赟eries和DataFrame的數(shù)據(jù)類型datetime64[ns]和timedelta64[ns]。dt對(duì)象與str、cat等對(duì)象非常類似,但函數(shù)參數(shù)較為復(fù)雜。本章內(nèi)容較為綜合,需要實(shí)踐練習(xí)才能漸漸掌握,逐步熟悉。THANKS感謝關(guān)注財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析基于機(jī)器學(xué)習(xí)的財(cái)務(wù)應(yīng)用9-3DataAnalysisandMachineLearning內(nèi)容概述本節(jié)學(xué)習(xí)目標(biāo)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析(1)理解人工智能的概念和研究范疇;(4)利用簡(jiǎn)單的機(jī)器學(xué)習(xí)的算法進(jìn)行財(cái)務(wù)數(shù)據(jù)分析。(2)了解機(jī)器學(xué)習(xí)的概念和方法;(3)掌握簡(jiǎn)單的機(jī)器學(xué)習(xí)的算法,及Python編程;目錄CONTENTS財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析9.3基于機(jī)器學(xué)習(xí)的財(cái)務(wù)應(yīng)用1人工智能2機(jī)器學(xué)習(xí)3sklearn 【Python財(cái)務(wù)數(shù)據(jù)分析】——基于上市公司年報(bào)財(cái)務(wù)指標(biāo)的機(jī)器學(xué)習(xí)財(cái)務(wù)應(yīng)用人工智能PartOne01財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析人工智能概述
20世紀(jì)50年代,圖靈首次提出了“機(jī)器思維”的概念。他提出了一項(xiàng)測(cè)試,以確定計(jì)算機(jī)能否進(jìn)行“思考”:如果一臺(tái)計(jì)算機(jī)的行為、反應(yīng)和互動(dòng)像一個(gè)有意識(shí)的個(gè)體,那么它應(yīng)該被視為有意識(shí)的,即提出了“機(jī)器能思維”的觀點(diǎn)。
人工智能(ArtificialIntelligence,AI)是由申農(nóng)(ClaudeShannon)等在1956年一次會(huì)議上被提出來的。一般認(rèn)為人工智能是任何類似于人的智能或高于人的智能的機(jī)器或算法統(tǒng)稱。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析人工智能學(xué)派1)符號(hào)主義符號(hào)主義(symbolicism)的觀點(diǎn):人工智能起源于數(shù)理邏輯,人類認(rèn)知的基元是符號(hào),認(rèn)知過程是符號(hào)表示上的一種運(yùn)算?;谥R(shí)的問題求解財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析人工智能學(xué)派2)連接主義連接主義(connectionism)的觀點(diǎn):人工智能起源于仿生學(xué),特別是人腦模型,人類認(rèn)知的基元是神經(jīng)元,認(rèn)知過程是神經(jīng)元的聯(lián)結(jié)活動(dòng)過程。playground可視化神經(jīng)網(wǎng)絡(luò)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析人工智能學(xué)派3)行為主義學(xué)派行為主義(actionism)的觀點(diǎn):人工智能起源于控制論,智能取決于感知和行為,是對(duì)外界復(fù)雜環(huán)境的適應(yīng),而不是推理。以自動(dòng)駕駛汽車為例,它在行駛過程中,不斷接收來自攝像頭、激光雷達(dá)和其他傳感器的數(shù)據(jù)。當(dāng)遇到行人突然出現(xiàn)在道路上時(shí),汽車會(huì)立即根據(jù)這些實(shí)時(shí)的感知信息采取剎車動(dòng)作。這個(gè)決策不是基于預(yù)先編寫的固定程序,而是基于對(duì)環(huán)境的實(shí)時(shí)感知和過去在類似情況下的學(xué)習(xí)經(jīng)驗(yàn)(通過大量的模擬訓(xùn)練或?qū)嶋H道路測(cè)試積累),以實(shí)現(xiàn)安全、高效的駕駛行為。機(jī)器學(xué)習(xí)PartTwo02財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析機(jī)器學(xué)習(xí)概念符號(hào)主義需要基于人類認(rèn)知的規(guī)則,連接主義基于數(shù)據(jù)處理的物理模型假設(shè)空間,而行為主義需要行為結(jié)果與行為環(huán)境的交互。這些人工智能領(lǐng)域,本質(zhì)都是數(shù)據(jù)到知識(shí)的映射。從原始數(shù)據(jù)中獲取有用知識(shí)的能力被稱為機(jī)器學(xué)習(xí)(machinelearning)。機(jī)器學(xué)習(xí)與人類思維的對(duì)比財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析數(shù)據(jù)、信息和知識(shí)1)數(shù)據(jù)數(shù)據(jù)泛指對(duì)客觀事物的數(shù)量、屬性、位置及其相互關(guān)系的抽象表示,以適合用人工或自然的方式進(jìn)行保存、傳遞和處理。數(shù)據(jù)是知識(shí)階層中最底層也是最基礎(chǔ)的一個(gè)概念,是形成信息、知識(shí)和智能的源泉,是機(jī)器學(xué)習(xí)“原料”。換句話說,機(jī)器模型需要數(shù)據(jù)“喂養(yǎng)”,才能“成熟”。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析數(shù)據(jù)、信息和知識(shí)3)知識(shí)數(shù)據(jù)是信息的載體,本身無確切含義。知識(shí)可以理解為信息與信息之間的關(guān)聯(lián)。通過對(duì)信息使用歸納、演繹的方法得到知識(shí)。在表中9-1,我們發(fā)現(xiàn):樣本的特征“所有者權(quán)益”與特征“資產(chǎn)”和“負(fù)債”存在這種關(guān)聯(lián)關(guān)系:如果“資產(chǎn)”和“負(fù)債”兩個(gè)特征的值,就可以得到特征“所有者權(quán)益”值。這種關(guān)聯(lián)關(guān)系就是知識(shí)。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析數(shù)據(jù)、信息和知識(shí)財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析機(jī)器學(xué)習(xí)過程財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析機(jī)器學(xué)習(xí)過程1)機(jī)器學(xué)習(xí)前提機(jī)器之所以能夠?qū)W習(xí),是有數(shù)學(xué)原理支持的。簡(jiǎn)單地說,就是數(shù)學(xué)證明通過大量描述事物的數(shù)據(jù),可以發(fā)現(xiàn)其中的規(guī)律。我們把要發(fā)現(xiàn)的規(guī)律視為一種假設(shè):“未知的目標(biāo)函數(shù)假設(shè)”,即機(jī)器學(xué)習(xí)的假設(shè)前提。通過事物的描述(X),存在一個(gè)理想化的映射(f):XY。X是已知樣本的樣本空間,Y是樣本的一個(gè)新特征空間。這個(gè)假設(shè)的存在是我們機(jī)器學(xué)習(xí)的前提。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析機(jī)器學(xué)習(xí)過程2)獲取數(shù)據(jù)有了(1)的前提,我們需要首先要得到盡可能多且全面的事物描述數(shù)據(jù)(X),以及通過經(jīng)驗(yàn)或過去的事實(shí)了解已知事物的特征(Y)的值,即數(shù)據(jù)集D:(X,Y)。X為目標(biāo)函數(shù)(g)的左側(cè)特征值,Y為目標(biāo)函數(shù)映射的特征向量。Y的值獲取具有多種途徑,因此演化多種機(jī)器學(xué)習(xí)的方法,如有監(jiān)督機(jī)器學(xué)習(xí),無監(jiān)督機(jī)器學(xué)習(xí),強(qiáng)化學(xué)習(xí),自學(xué)習(xí)等財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析機(jī)器學(xué)習(xí)過程3)數(shù)據(jù)預(yù)處理數(shù)據(jù)在學(xué)習(xí)之前,要滿足學(xué)習(xí)算法的要求,如數(shù)據(jù)變換、數(shù)據(jù)標(biāo)準(zhǔn)化等。這里我們只討論數(shù)據(jù)拆分這一步驟。通常會(huì)把數(shù)據(jù)分成2部分(有時(shí)也分為3部分,訓(xùn)練集、測(cè)試集和驗(yàn)證集),即訓(xùn)練集(trainingset)和測(cè)試集(testingset)。訓(xùn)練集是用來訓(xùn)練模型,測(cè)試集是在模型的訓(xùn)練之后評(píng)估模型的好壞。數(shù)據(jù)拆分有很多方法,如K折交叉檢驗(yàn)(K-foldcross-validation)——大致思想是把數(shù)據(jù)集分成K份,每次取一份作為測(cè)試集,取余下的K-1份作為訓(xùn)練集。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析機(jī)器學(xué)習(xí)過程4)學(xué)習(xí)訓(xùn)練除了訓(xùn)練數(shù)據(jù)集,學(xué)習(xí)訓(xùn)練需要另外2個(gè)要素:假設(shè)空間和算法。(1)假設(shè)空間:我們根據(jù)已有的認(rèn)知,使用某種思維框架把理想的函數(shù)f所在的空間表示出來,即假設(shè)空間H:X->Y。H可以被理解為X->Y的“形態(tài)”空間,空間中的具體模型形式可能有無限多個(gè)。(2)算法:算法A可以理解為從假設(shè)空間H中,找到一個(gè)最優(yōu)或次優(yōu)的模型的數(shù)學(xué)方法。算法求解的條件是:得到的模型g,使得g(X),無限接近f(X)=Y。即從假設(shè)空間中找到一個(gè)模型g,使得映射得到的與已知事實(shí)的Y的差異盡可能小?;诖?,機(jī)器學(xué)習(xí)一般可以轉(zhuǎn)換為最小化問題求解。財(cái)務(wù)數(shù)據(jù)分析財(cái)務(wù)數(shù)據(jù)分析機(jī)器學(xué)習(xí)過程5)模型評(píng)估模型g在訓(xùn)練集上表現(xiàn)很好,即預(yù)測(cè)值與真實(shí)值差異趨近最小。但是未必在測(cè)試集上有同樣的表現(xiàn)。算法A學(xué)習(xí)X得到的g,可能有缺陷[這種缺陷來自多個(gè)方面:①訓(xùn)練集X不能完全代表事物本身,或數(shù)量不足;②人類認(rèn)知有限,事物的規(guī)律f不在假設(shè)空間H之中;③算法A本身有問題,得到的g不是一個(gè)合適的解。這里涉及過擬合、欠擬合和超級(jí)參數(shù)等概念。如果模型g在測(cè)試集上表現(xiàn)不佳,則要回到前面的重新學(xué)習(xí)訓(xùn)練。通過了測(cè)試,則模型就能用于預(yù)測(cè)分析了。財(cái)務(wù)數(shù)據(jù)分析財(cái)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第12課 煮飯、煮粥說課稿-2025-2026學(xué)年小學(xué)勞動(dòng)湘教版中年級(jí)-湘教版
- 考點(diǎn)攻克人教版八年級(jí)物理《壓強(qiáng)》難點(diǎn)解析試題(含答案解析)
- 人防電力系統(tǒng)安全保障方案
- 基于全生命周期的杭州農(nóng)宅低碳設(shè)計(jì)研究
- 山東省海陽(yáng)市美寶學(xué)校七年級(jí)環(huán)境教育說課稿:1人類賴以生存的地球
- 考點(diǎn)攻克人教版八年級(jí)物理《運(yùn)動(dòng)和力》同步測(cè)評(píng)試卷(解析版含答案)
- 農(nóng)作物副產(chǎn)品智能化加工設(shè)備選型方案
- 寬帶低功耗低噪聲放大器研究與設(shè)計(jì)
- 小于1500g極早產(chǎn)兒支氣管肺發(fā)育不良的臨床特征及隨訪情況
- 文旅融合視域下大通古鎮(zhèn)非遺主題研學(xué)基地設(shè)計(jì)研究
- 檢驗(yàn)科質(zhì)量標(biāo)準(zhǔn)手冊(cè)
- 工業(yè)煤氣安全知識(shí)培訓(xùn)課件
- 初三數(shù)學(xué)二次函數(shù)測(cè)試試卷及答案
- 學(xué)堂在線 軍事歷史-第二次世界大戰(zhàn)史 章節(jié)測(cè)試答案
- 急診科多發(fā)創(chuàng)傷搶救流程指南
- 曲臂式高空作業(yè)車專項(xiàng)施工方案
- 5.1.2 7~9的乘法口訣 教學(xué)課件 人教版(2024)小學(xué)數(shù)學(xué)二年級(jí)上冊(cè)
- GB/T 45935-2025應(yīng)急管理北斗衛(wèi)星導(dǎo)航系統(tǒng)應(yīng)用總體技術(shù)要求
- 入團(tuán)考試試題及答案大全
- 2024全員安全生產(chǎn)“大學(xué)習(xí)、大培訓(xùn)、大考試”考試題庫(kù)(含答案)
- 電焊作業(yè)高空作業(yè)危險(xiǎn)點(diǎn)及控制措施
評(píng)論
0/150
提交評(píng)論