Python財務數(shù)據(jù)分析與應用(微課版)課件 第6-9章 Pandas數(shù)據(jù)清洗與函數(shù)應用 - Python財務數(shù)據(jù)分析進階_第1頁
Python財務數(shù)據(jù)分析與應用(微課版)課件 第6-9章 Pandas數(shù)據(jù)清洗與函數(shù)應用 - Python財務數(shù)據(jù)分析進階_第2頁
Python財務數(shù)據(jù)分析與應用(微課版)課件 第6-9章 Pandas數(shù)據(jù)清洗與函數(shù)應用 - Python財務數(shù)據(jù)分析進階_第3頁
Python財務數(shù)據(jù)分析與應用(微課版)課件 第6-9章 Pandas數(shù)據(jù)清洗與函數(shù)應用 - Python財務數(shù)據(jù)分析進階_第4頁
Python財務數(shù)據(jù)分析與應用(微課版)課件 第6-9章 Pandas數(shù)據(jù)清洗與函數(shù)應用 - Python財務數(shù)據(jù)分析進階_第5頁
已閱讀5頁,還剩187頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

Pandas數(shù)據(jù)清洗與函數(shù)應用6PandasDataCleaningandFunctionApplication內(nèi)容概述本章學習目標財務數(shù)據(jù)分析財務數(shù)據(jù)分析(1)了解NumPy的NaN;(4)掌握Pandas的函數(shù)應用。(3)掌握Pandas的數(shù)據(jù)清洗方法;(2)掌握Series對象和DataFrame對象的運算操作;目錄CONTENTS財務數(shù)據(jù)分析財務數(shù)據(jù)分析第6章Pandas數(shù)據(jù)清洗與函數(shù)應用

6.1Pandas對象的運算與對齊

6.2Pandas數(shù)據(jù)清洗6.3函數(shù)應用

【Python財務數(shù)據(jù)分析】——財務報表文件數(shù)據(jù)清洗和運算.

Pandas對象的運算與對齊PartOne01財務數(shù)據(jù)分析財務數(shù)據(jù)分析6.1Pandas對象的運算與對齊6.1.1NumPy的NaN6.1Pandas對象的運算與對齊6.1.1NumPy的NaN6.1Pandas對象的運算與對齊6.1.2Series運算6.1Pandas對象的運算與對齊6.1.2Series運算6.1Pandas對象的運算與對齊6.1.3DataFrame運算6.1Pandas對象的運算與對齊6.1.3DataFrame運算Pandas數(shù)據(jù)清洗PartTwo02財務數(shù)據(jù)分析財務數(shù)據(jù)分析6.2數(shù)據(jù)清洗

6.2數(shù)據(jù)清洗

6.2數(shù)據(jù)清洗

Pandas函數(shù)應用PartThree03財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析Pandas函數(shù)應用概述如果想要應用自定義函數(shù),或者把其他庫中的函數(shù)應用到Pandas對象中,有以下3種方法:l

pipe():操作整個DataFrame的函數(shù)l

apply():操作行或者列的函數(shù)l

applymap():操作單一元素的函數(shù)財務數(shù)據(jù)分析財務數(shù)據(jù)分析鏈式操作Pandas的鏈式操作是一種優(yōu)雅且簡潔的方法,通過連續(xù)調(diào)用多個方法來處理數(shù)據(jù),而不需要將中間結(jié)果存儲在臨時變量中。鏈式操作可以使代碼更具可讀性和可維護性。為了避免潛在的問題,鏈式操作通常與DataFrame的方法結(jié)合使用,這些方法返回副本而不是在原地修改數(shù)據(jù)。語法格式:df.<操作1>.<操作2>.<操作3>.….<操作N>財務數(shù)據(jù)分析財務數(shù)據(jù)分析pipe()函數(shù)Series,DataFrame,GroupBy等對象pipe()函數(shù):x.pipe(f,*args,**kwargs),等同于f(x,*args,**kwargs)函數(shù)處理。即x作為參數(shù)傳遞給函數(shù)f處理,該函數(shù)應用于整個x數(shù)據(jù)。以DataFrame為例,語法格式:df.pipe(<函數(shù)名>,<傳給函數(shù)的參數(shù)列表>)f(g(h(df),arg1=a),arg2=b,arg3=c),用pipe()可以把函數(shù)連接起來,語法格式:(df.pipe(h).pipe(g,arg1=a).pipe(f,arg2=b,arg3=c))財務數(shù)據(jù)分析財務數(shù)據(jù)分析apply()函數(shù)如果要操作

DataFrame的行或者列,可以使用apply()函數(shù),可選參數(shù)axis,并且默認按列操作。語法格式:df.apply(func,

#函數(shù),應用于每列或每行的函數(shù)axis=0,

#{0or‘index’,1or‘columns’},默認為0,應用函數(shù)的軸方向*args,**kwds)財務數(shù)據(jù)分析財務數(shù)據(jù)分析applymap()或map()函數(shù)df.applymap()

可做到元素級函數(shù)應用,就是對DataFrame中所有的元素(不包含索引)應用函數(shù)處理。使用lambda時,變量是指每一個具體的值。語法格式:DataFrame.applymap(func,na_action=None,**kwargs)其中

na_action:類型:{None,'ignore'}作用:指定是否忽略NaN值None(默認):對NaN值應用函數(shù)'ignore':跳過NaN值,不對其應用函數(shù)財務數(shù)據(jù)分析財務數(shù)據(jù)分析【本章小結(jié)】介紹了Pandas以一個數(shù)據(jù)集為操作對象的一般化處理,包括DataFrame和Series的數(shù)據(jù)數(shù)值計算,數(shù)據(jù)集利用pipe()、apply()和applymap()進行函數(shù)處理,以及數(shù)據(jù)集的缺失值和重復值等數(shù)據(jù)清洗。完成本章的學習,讀者應該能夠完成數(shù)據(jù)集進行數(shù)據(jù)分析之前的處理工作。THANKS感謝關注財務數(shù)據(jù)分析財務數(shù)據(jù)分析Pandas數(shù)據(jù)集處理7PandasDatasetProcessing內(nèi)容概述本章學習目標財務數(shù)據(jù)分析財務數(shù)據(jù)分析(1)掌握利用Pandas內(nèi)置函數(shù)對DataFrame進行數(shù)據(jù)變形操作的方法;(3)掌握利用Pandas內(nèi)置函數(shù)對多個DataFrame進行數(shù)據(jù)連接操作的方法。(2)掌握利用Pandas內(nèi)置對象GroupBy對DataFrame進行分組操作的方法;目錄CONTENTS財務數(shù)據(jù)分析財務數(shù)據(jù)分析第7章Pandas數(shù)據(jù)集處理 7.1數(shù)據(jù)變形7.2數(shù)據(jù)分組

7.3數(shù)據(jù)連接

【Python財務數(shù)據(jù)分析】——A股上市公司基本行業(yè)分類處理數(shù)據(jù)變形PartOne01財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析長寬表的變形長表和寬表是數(shù)據(jù)的兩種不同表示方式。長表(longformat)通常用于存儲逐行記錄的數(shù)據(jù),而寬表(wideformat)則在列中存儲更多的維度信息。這兩種表示方式各有優(yōu)缺點,并在不同的分析任務中各有用途。Pandas提供了多種方法來在長表和寬表之間進行轉(zhuǎn)換。長表(LongFormat):每行表示一個觀測值,每列表示一個變量。長表通常具有重復的行索引。寬表(WideFormat):每行表示一個觀測單位,每列表示一個變量的不同維度。寬表通常具有更多的列。財務數(shù)據(jù)分析財務數(shù)據(jù)分析長寬表的變形財務數(shù)據(jù)分析財務數(shù)據(jù)分析長寬表的變形財務數(shù)據(jù)分析財務數(shù)據(jù)分析pivot()函數(shù)1)整理透視Pivot()函數(shù)財務數(shù)據(jù)分析財務數(shù)據(jù)分析pivot()函數(shù)1)整理透視Pivot()函數(shù)財務數(shù)據(jù)分析財務數(shù)據(jù)分析pivot_table()函數(shù)財務數(shù)據(jù)分析財務數(shù)據(jù)分析pivot_table()函數(shù)財務數(shù)據(jù)分析財務數(shù)據(jù)分析melt()函數(shù)財務數(shù)據(jù)分析財務數(shù)據(jù)分析melt()函數(shù)財務數(shù)據(jù)分析財務數(shù)據(jù)分析wide_to_long()函數(shù)財務數(shù)據(jù)分析財務數(shù)據(jù)分析wide_to_long()函數(shù)數(shù)據(jù)分組PartThere03財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析groupby()函數(shù)1)分組要素分組是根據(jù)一定的規(guī)則進行數(shù)據(jù)劃分,將一個數(shù)據(jù)集劃分成若干個小的區(qū)域,然后可以針對若干個小區(qū)域進行數(shù)據(jù)處理。df.groupby()

函數(shù)是按指定字段對DataFrame行分組,生成一個分組器對象,然后再把這個對象的各個字段按一定的聚合方法輸出。因此,df.groupby()

函數(shù)的一般化應用格式:df.groupby(分組依據(jù))[數(shù)據(jù)來源].使用操作財務數(shù)據(jù)分析財務數(shù)據(jù)分析groupby()函數(shù)groupby()函數(shù)的分組依據(jù)有多種形式。(1)列名構(gòu)成的列表在groupby()函數(shù)中傳入相應列名構(gòu)成的列表作為分組依據(jù)。(2)條件表達式groupby()函數(shù)的分組依據(jù)是直接可以從列中按照名字獲取的。還可以通過一定的復雜邏輯條件來分組。財務數(shù)據(jù)分析財務數(shù)據(jù)分析groupby()函數(shù)財務數(shù)據(jù)分析財務數(shù)據(jù)分析分組操作groupby()方法實現(xiàn)分組聚合的過程可以分為以下3個階段。?分組(Split):將數(shù)據(jù)按照標準拆分成多個組。?應用(Apply):將一個指定函數(shù)應用于拆分后的每一組數(shù)據(jù),產(chǎn)生一個新值。?合并(Combine):將各組產(chǎn)生的結(jié)果合并成一個新的對象。財務數(shù)據(jù)分析財務數(shù)據(jù)分析Groupby對象groupby對象的屬性和方法(部分)屬性和方法說明示例ngroups可以訪問組數(shù)量gb.ngroupsgroups組名映射組索引列表的字典gb.groups.keys()indices鍵是創(chuàng)建的組,值是df中每組的實例的軸標簽列表或索引gb.indicessize()統(tǒng)計每個組的元素個數(shù)gb.size()get_group()直接獲取所在組對應的行gb.get_group(('中國平安','環(huán)境')).iloc[:,:2]遍歷對象組名和分組DataFramefor

name,

entries

in

gb:

print(name)

print(entries.head(2),

'\n\n')財務數(shù)據(jù)分析財務數(shù)據(jù)分析組應用函數(shù)將原始數(shù)據(jù)并分組之后,我們可以對每個組執(zhí)行以下操作之一或組合:聚合(Aggregation):計算每個組的匯總統(tǒng)計量變換(Transformation):按組進行操作,如計算每個組的z-score值過濾(Filtration):根據(jù)預定義的條件拒絕某些組1).聚合聚合函數(shù)通常要求返回標量值,常用的函數(shù)包括:

max,min,mean,median,count,all,any,idxmax,idxmin,mad,nunique,skew,quantile,sum,std,var,sem,size和prod等。2).變換GroupBy對象的transform()函數(shù),與agg()聚合函數(shù)不同,其返回值為與源數(shù)據(jù)同長度的序列,如累計函數(shù)cumcount,cumsum,cumprod,cummax和cummin等,使用方式和聚合方法類似。3).過濾分組過濾可以被視為行過濾的推廣,指的是如果對一個組的全體所在行進行統(tǒng)計的結(jié)果返回

True則會被保留,F(xiàn)alse則該組會被過濾,最后把所有未被過濾的組其對應的所在行拼接起來作為DataFrame返回數(shù)據(jù)連接PartFour03財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析數(shù)據(jù)連接的概念1)關系型數(shù)據(jù)的連接示意圖(鍵值唯一)財務數(shù)據(jù)分析財務數(shù)據(jù)分析數(shù)據(jù)連接的概念2)關系型數(shù)據(jù)的連接示意圖(笛卡爾積)財務數(shù)據(jù)分析財務數(shù)據(jù)分析值連接merge()函數(shù)主要參數(shù)說明:l

left/right:2個不同的DataFrame對象l

on:指定用于連接的鍵,2個DataFrame共同的鍵。不指定,以2個DataFrame的列名交集作為連接鍵l

left_on/right_on:該參數(shù)在左、右列標簽名不相同,指定連接鍵的列名l

left_index/

right_index:布爾參數(shù),True則使用行索引作為連接鍵,默認為Falsel

how:要執(zhí)行的合并類型,從

{'left',

'right',

'outer',

'inner'}中取值,默認為'inner'內(nèi)連接財務數(shù)據(jù)分析財務數(shù)據(jù)分析索引連接join()函數(shù)join()函數(shù)來處理索引連接,參數(shù)設置與merge()函數(shù)類似。on參數(shù)指索引名,單層索引時省略參數(shù)表示按照當前索引連接。join()函數(shù)的語法格式:財務數(shù)據(jù)分析財務數(shù)據(jù)分析數(shù)據(jù)拼接concat()函數(shù)數(shù)據(jù)拼接concat()函數(shù)也稱方向連接函數(shù),實現(xiàn)縱向和橫向連接,將數(shù)據(jù)連接后會形成一個新的DataFrame。concat()

函數(shù)可以沿著行或者列進行操作,同時可以指定非合并軸的合并方式(合集、交集等)。concat()函數(shù)語法格式:【Python財務數(shù)據(jù)分析】

——A股上市公司行業(yè)分類處理PartPractice05財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析實踐1.數(shù)據(jù)清洗讀入<公司基本信息.xlsx>文件,將數(shù)據(jù)集[行業(yè)代碼B]列,拆分為[行業(yè)門類碼]和[行業(yè)大類碼]。2.變形操作針對1.得到的數(shù)據(jù)集,考察每個行業(yè)門類的公司數(shù)量,注冊資本的最大值,最小值和均值3.數(shù)據(jù)連接針對1.得到的數(shù)據(jù)集,增加[行業(yè)門類]和[行業(yè)大類]數(shù)據(jù)列4.分組操作新公司基本信息數(shù)據(jù)集df_com_new,分組處理。財務數(shù)據(jù)分析財務數(shù)據(jù)分析【本章小結(jié)】數(shù)據(jù)集基于業(yè)務關系可以設定為長表和寬表,這取決于標簽(行列索引)和數(shù)據(jù)值之間的轉(zhuǎn)化。Pandas可對多個數(shù)據(jù)集進行關聯(lián)操作,數(shù)據(jù)集有很多聚合函數(shù),但是需要對數(shù)據(jù)集分組、分層聚合。因此Pandas提供了GroupBy對象,該對象有實用處理方法和屬性。完成本章的學習,讀者應該能夠基本掌握Pandas的核心內(nèi)容。完成本章的學習,我們基本掌握的Pandas的核心內(nèi)容。其他數(shù)據(jù)處理,如缺失值處理,重復值處理等,請自學掌握。THANKS感謝關注財務數(shù)據(jù)分析財務數(shù)據(jù)分析數(shù)據(jù)可視化8DataVisualization內(nèi)容概述本章學習目標財務數(shù)據(jù)分析財務數(shù)據(jù)分析(1)理解數(shù)據(jù)分析中不同類型數(shù)據(jù)的含義和統(tǒng)計學意義(5)能夠利用Matplotlib、Seaborn進行Python財務數(shù)據(jù)分析。(4)掌握Matplotlib、Seaborn中基本圖形的繪制方法;(2)熟練掌握Matplotlib繪圖的基本過程;(3)熟悉Matplotlib對象的屬性和方法;

目錄CONTENTS財務數(shù)據(jù)分析財務數(shù)據(jù)分析第8章數(shù)據(jù)可視化6.1Matplotlib入門

6.2定量和定性數(shù)據(jù)

【Python財務數(shù)據(jù)分析】——財務數(shù)據(jù)的可視化基礎圖形Matplotlib入門PartOne01財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析數(shù)據(jù)可視化數(shù)據(jù)的圖形呈現(xiàn)是探索、分析數(shù)據(jù)的常用方法。相對于文字表述,圖形更加直觀且形象化,更適合人類的思維模式理解。使用圖形來表示數(shù)據(jù)的方法稱為數(shù)據(jù)可視化。數(shù)據(jù)以圖形圖像形式表示,可以揭示隱藏的數(shù)據(jù)特征,直觀傳達關揵信息;輔助建立數(shù)據(jù)分析模型,展示分析結(jié)果。Matplotlib和Seaborn是Python繪圖第三方庫,同時Pandas集成了Matplotlib中的常用可視化圖形接口,可通過Series和DataFrame兩種數(shù)據(jù)結(jié)構(gòu)面向?qū)ο蟮慕涌诜绞胶唵握{(diào)用。Pandas繪圖中僅集成了常用的圖表接口,更多復雜的繪圖需求往往還需依賴Matplotlib或者其他可視化庫。財務數(shù)據(jù)分析財務數(shù)據(jù)分析Matplotlib繪圖過程1)導入模塊importmatplotlib.pyplotasplt2)獲取繪圖數(shù)據(jù)3)繪圖4)裝飾圖形5)保存與顯示圖形繪圖過程,雖然簡單,但是從面向?qū)ο蟮囊暯强捶炊缓美斫?。原因是,在繪圖的過程隱式地創(chuàng)建畫布(figure)和繪圖區(qū)域(axes)。因此我們不推薦。使用plt的屬性和方法賦予畫布和繪圖區(qū)域,完成繪圖的過程更清晰,而且可以繪制更復雜的圖形。財務數(shù)據(jù)分析財務數(shù)據(jù)分析Matplotlib繪圖對象和類畫布Figure、子圖Axes和數(shù)軸Axis關系示意圖Figure是容納多個Axes的畫板或畫布,而Axes則是所有圖標數(shù)據(jù)、圖例配置等繪圖形元素的容器,稱為一個繪圖區(qū)域。面向?qū)ο蟮睦L圖,就是將plt中的圖形賦值給一個Figure或Axes實例,通過調(diào)用Figure或Axes兩類實例的方法完成繪圖。財務數(shù)據(jù)分析財務數(shù)據(jù)分析Matplotlib繪圖對象和類1)創(chuàng)建畫布創(chuàng)建畫布,包括創(chuàng)建figure和axes對象,常用方法:(1)plt.figure(),接收一個元組作為figsize參數(shù)設置圖形大小,返回一個figure對象;(2)plt.axes(),接收一個figure或在當前畫布上添加一個子圖,返回該axes對象,并將其設置為“當前”子圖,缺省時會在繪圖前自動添加;(3)plt.subplot(),接收3個數(shù)字或1個3位數(shù)作為子圖的行數(shù)、列數(shù)和當前子圖索引。索引從1開始,返回一個axes對象用于繪圖操作??梢岳斫獬墒窍入[式執(zhí)行了plt.figure,然后在創(chuàng)建的figure對象上添加子圖,并返回當前子圖實例;(4)plt.subplots(),接收一個行數(shù)nrows和列數(shù)ncols作為參數(shù),創(chuàng)建一個figure對象和相應數(shù)量的axes對象,同時返回該figure對象和axes對象嵌套列表,并默認選擇最后一個子圖作為“當前”圖。財務數(shù)據(jù)分析財務數(shù)據(jù)分析Matplotlib繪圖對象和類2)子圖——axes對象(1)創(chuàng)建axes對象Matplotlib定義了一個Axes(軸域)類,創(chuàng)建的對象被稱為axes對象(即軸域?qū)ο螅蚍Q為子圖)。axes對象可以理解為有軸(axis)的集合,一般包含基本的2個axis,用來確定一個區(qū)域。一個畫布設置若干繪圖區(qū)域,從而實現(xiàn)對畫布的布局。默認情況下,函數(shù)創(chuàng)建一個標準的axes對象填滿整個圖表區(qū)域。當只有畫布上只有一張子圖時,可以用plt代替ax。財務數(shù)據(jù)分析財務數(shù)據(jù)分析Matplotlib繪圖對象和類(2)axes對象的屬性和方法axes的屬性和方法,本質(zhì)上是由plt賦予的。因此axes的成員和plt類似,但是也要注意個別方法有細微差異。2)子圖——axes對象①plot()繪圖②grid()網(wǎng)格格式設置③xscale()或yscale(),spines()坐標軸④xlim()和ylim()坐標軸范圍⑤xticks()和yticks()刻度和刻度標簽⑥legend()繪制圖例財務數(shù)據(jù)分析財務數(shù)據(jù)分析Matplotlib繪圖對象和類plt.subplot()函數(shù)可以均等地劃分畫布,語法格式:3)subplot()函數(shù)和add_subplot()函數(shù)財務數(shù)據(jù)分析財務數(shù)據(jù)分析Matplotlib繪圖對象和類3)subplot()函數(shù)和add_subplot()函數(shù)nrows×nclos表示子圖數(shù)量,subplot(233)表示在當前畫布的右上角創(chuàng)建一個2行3列的繪圖區(qū)域,同時選擇在第3個位置繪制子圖。財務數(shù)據(jù)分析財務數(shù)據(jù)分析Matplotlib繪圖對象和類4)subplots()函數(shù)subplots()函數(shù)與subplot()函數(shù)類似。其不同之處在于subplots()既創(chuàng)建了一個包含子圖區(qū)域的畫布,又創(chuàng)建了子圖對象,而subplot()只是創(chuàng)建一個在當前畫布下的子圖對象。subplots的函數(shù)語法格式:fig,ax=plt.subplots(nrows,ncols)nrows與ncols表示兩個整數(shù)參數(shù),其他指定子圖所占的行數(shù)、列數(shù)。函數(shù)的返回值是一個元組,包括一個畫布對象和所有的子圖對象。其中子圖對象的數(shù)量等于nrows×ncols,且每個axes對象均可通過索引值訪問。財務數(shù)據(jù)分析財務數(shù)據(jù)分析Matplotlib繪圖對象和類5)subplot2grid()函數(shù)plt.subplot2grid()函數(shù)能夠在畫布的特定位置創(chuàng)建axes對象。還可以使用不同數(shù)量的行、列來創(chuàng)建跨度不同的繪圖區(qū)域。即subplot2gird()函數(shù)可以以非等分的形式對畫布進行切分,并按照繪圖區(qū)域的大小來展示最終繪圖結(jié)果。plt.subplot2grid()函數(shù)語法格式: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財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析定性與定量數(shù)據(jù)是指對客觀事件進行記錄并可以鑒別的符號,也就是對事物的性質(zhì)、狀態(tài)以及相互關系等進行記載的物理符號或這些物理符號的組合。數(shù)據(jù)按性質(zhì)可分為:(1)定性數(shù)據(jù)(qualitativedata)在統(tǒng)計學上的包括分類數(shù)據(jù)和順序數(shù)據(jù),是一組表示事物性質(zhì)、規(guī)定事物類別的文字表述型數(shù)據(jù)。見表示事物屬性的數(shù)據(jù)(注冊地、上市公司板塊、公司行業(yè)、債券評級等)。(2)定量數(shù)據(jù)(Quantitativedata)的,反映事物數(shù)量特征的數(shù)據(jù),如金額、價格、重量、速度等物理量。財務數(shù)據(jù)分析財務數(shù)據(jù)分析數(shù)據(jù)分類4種測定尺度的意義與特征:分類(nominal)尺度:無序類別數(shù)據(jù)。分類尺度將數(shù)字作為事物總體中不同類別/組別的代碼,是最低層次的尺度。順序(ordinal)尺度:順序數(shù)據(jù)。順序尺度不但可以用數(shù)表示量的不同類別,而且也反映量的大小順序關系,從而可以列出各類的次序。定距(interval)尺度:間隔數(shù)據(jù)。定距尺度是對事物類別或次序之間間距的計量,它通常使用度量衡單位作為計量尺度。定距尺度是比順序尺度高一層次的計量尺度。比例(ratio)尺度:連續(xù)數(shù)據(jù)。比例尺度是在定距尺度的基礎上,確定可以作為比較的基數(shù),將兩種相關的數(shù)加以對比,而形成新的相對數(shù)。【財務應用與實踐】

財經(jīng)數(shù)據(jù)的可視化基礎圖形PartPractice05財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析類別數(shù)據(jù)可視化——柱狀圖柱狀圖是一種用矩形柱來表示數(shù)據(jù)分類的圖表,柱狀圖可以垂直繪制,也可以水平繪制,它的高度與其所表示的數(shù)值成正比關系。柱狀圖顯示了不同類別之間的比較關系,圖表的一個軸指定被比較的類別,另一個軸則表示具體的類別值。Matplotlib提供了bar()和barh()函數(shù)來繪制柱狀圖。財務數(shù)據(jù)分析財務數(shù)據(jù)分析類別數(shù)據(jù)可視化——餅圖餅圖只適用排列在數(shù)據(jù)幀的一列或一行中的數(shù)據(jù)。餅圖顯示一個數(shù)據(jù)系列中各項的大小與各項總和的比例。即顯示為數(shù)據(jù)占整個餅圖的百分比。Matplotlib提供了pie()函數(shù)來繪制餅圖。財務數(shù)據(jù)分析財務數(shù)據(jù)分析順序數(shù)據(jù)可視化——箱線圖四分位數(shù)是把所有數(shù)值由小到大排列并分成四等份,處于三個分割點位置的數(shù)值分別是:第一四分位數(shù)(Q1),等于該樣本中所有數(shù)值由小到大排列后第25%的數(shù)字第二四分位數(shù)(Q2),又稱“中位數(shù)”,等于該樣本中所有數(shù)值由小到大排列后第50%的數(shù)字第三四分位數(shù)(Q3),等于該樣本中所有數(shù)值由小到大排列后第75%的數(shù)字第三、四分位數(shù)與第一四分位數(shù)的差距又稱四分位距(IQR)。計算公式:IQR

=

Q3

?

Q1財務數(shù)據(jù)分析財務數(shù)據(jù)分析順序數(shù)據(jù)可視化——箱線圖箱線圖作為描述統(tǒng)計的工具之一,其可以直觀明了地識別數(shù)據(jù)中的異常值,非對稱分布數(shù)據(jù)的特征,也可以用來對若干批次數(shù)據(jù)比較分析。財務數(shù)據(jù)分析財務數(shù)據(jù)分析間隔數(shù)據(jù)可視化——直方圖直方圖是一種統(tǒng)計圖表,用于展示數(shù)據(jù)的分布情況。它的主要特點包括:直觀展示數(shù)據(jù)的頻率分布。通過矩形的高度來表示數(shù)據(jù)落在各個區(qū)間的數(shù)量或頻率。財務數(shù)據(jù)分析財務數(shù)據(jù)分析比例數(shù)據(jù)可視化——散點圖散點圖來表述兩個連續(xù)變量X和Y之間的關系,圖中的每個點表示目標數(shù)據(jù)集中的每個樣本,在直角坐標系平面上數(shù)據(jù)點的分布和因變量隨自變量而變化的大致趨勢。由此趨勢可以選擇合適的函數(shù)進行擬合,以用來表示某些模型,進而找到變量之間的函數(shù)關系。財務數(shù)據(jù)分析財務數(shù)據(jù)分析比例數(shù)據(jù)可視化——蜂巢圖當有成千上萬的數(shù)據(jù)樣本點時,散點圖會變得過于密集而無法解釋。當數(shù)據(jù)量大我們采用蜂巢圖(Hexbin)。其將圖表劃分為了一個六邊形區(qū)域,基于聚合方法(例如點的數(shù)量),為區(qū)域的不同部分添加不同深度的顏色。hexbin()函數(shù)用于制作點x,y的2D六角形裝箱圖,顏色深度表示樣本點數(shù)量財務數(shù)據(jù)分析財務數(shù)據(jù)分析【本章小結(jié)】我們本章學習了Matplotlib和Seaborn簡單的應用。可視化是數(shù)據(jù)分析過程中不可或缺步驟和方法。關于可視化的知識內(nèi)容很多,學習的初期掌握每個數(shù)據(jù)可視化每個細節(jié)不是很容易,也沒有必要。Matplotlib和Seaborn案例豐富,本章并沒有介紹它們完整的知識體系,而是試圖通過具體的實例,展示其功能。讀者需要掌握基礎操作之后,首先做到模仿繪圖,之后逐步掌握繪圖的細節(jié)和技巧,在實踐中漸漸深入提升可視化技能。THANKS感謝關注財務數(shù)據(jù)分析財務數(shù)據(jù)分析文本數(shù)據(jù)處理9-1TextDataProcessing內(nèi)容概述1本章學習目標財務數(shù)據(jù)分析財務數(shù)據(jù)分析(1)掌握Series數(shù)據(jù)類型特征和轉(zhuǎn)化;(5)利用str對象處理財務文本數(shù)據(jù)。(4)掌握文本數(shù)據(jù)的拆分、合并、匹配、提取和替換;(2)熟悉str對象的屬性和方法;(3)熟悉正則表達式基礎語法;目錄CONTENTS財務數(shù)據(jù)分析財務數(shù)據(jù)分析9.1文本數(shù)據(jù)處理

1Pandas數(shù)據(jù)類型綜述

2str對象

3正則表達式基礎

4文本數(shù)據(jù)處理的5類操作

【財務應用與實踐】上市公司基本信息文本數(shù)據(jù)處理

Pandas數(shù)據(jù)類型綜述PartOne01財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析Pandas數(shù)據(jù)類型Pandas類型(dtype)Python類型(type)說明objectstr字符串,存儲文本數(shù)據(jù)等int64int整數(shù)float64float浮點數(shù)boolboolTrue/False值datetime64NA日期時間的值timedelta[ns]NA日期時間的差categoryNA統(tǒng)計中分類變量財務數(shù)據(jù)分析財務數(shù)據(jù)分析數(shù)據(jù)類型轉(zhuǎn)換astype()函數(shù)是pandas中用于轉(zhuǎn)換數(shù)據(jù)類型的方法。它可以將DataFrame或Series的數(shù)據(jù)類型轉(zhuǎn)換為指定的類型。語法格式:DataFrame.astype(dtype,copy=True,errors='raise')Series.astype(dtype,copy=True,errors='raise')errors:類型:{'raise','ignore'},默認為'raise'作用:指定在轉(zhuǎn)換期間如何處理錯誤。'raise':如果發(fā)生錯誤,則引發(fā)異常。'ignore':忽略錯誤,保留原始數(shù)據(jù)。財務數(shù)據(jù)分析財務數(shù)據(jù)分析分類數(shù)據(jù)category類型在處理具有固定類別或需要特定排序的數(shù)據(jù)時非常有用,特別是在數(shù)據(jù)分析和處理中,可以提高數(shù)據(jù)的可讀性、內(nèi)存效率和操作便利性。屬性和方法說明舉例catcat對象df['員工'].catcat.categoriesIndex類型類別的本身df['員工'].cat.categoriescat.ordered是否有序df['員工'].cat.categoriescat.codes序列的類別會被賦予唯一的整數(shù)編號df['員工'].cat.codesstr對象PartTwo02財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析Python字符串簡單重申一下有關字符串的相關概念:字符串的長度:字符串中字符的數(shù)目n稱為字符串的長度;空字符串:零個字符構(gòu)成的串,長度為0,可以表示為"";子串:字符串中任意個連續(xù)的字符組成的子序列;字符串的前綴:起始于位置為0、長度為k的子串稱為「前綴」;字符串的后綴:終止于字符串末尾位置(n-1),長度為k的子串稱為「后綴」;字符串之間的比較:通過組成字符串的字符之間的字符編碼來決定的。而字符編碼指的是字符在對應字符集中的序號。財務數(shù)據(jù)分析財務數(shù)據(jù)分析str對象屬性和方法Pandas通過定義在Index或Series上的str屬性,來處理類型為object或string的文本數(shù)據(jù)1)字母型函數(shù)字符串函數(shù)中有關字母型的概念是針對英文字符串而言的。upper(),lower(),title(),capitalize()和swapcase()

這5個函數(shù)主要用于字母的大小寫轉(zhuǎn)化。s=pd.Series(['industry(工業(yè))','CN','ascale','FinancialApp'])財務數(shù)據(jù)分析財務數(shù)據(jù)分析str對象屬性和方法2)pd.to_numeric()函數(shù)pd.to_numeric()函數(shù)能夠?qū)ψ址袷降臄?shù)值進行快速轉(zhuǎn)換和篩選。s=pd.Series(['10','2.1','2e5','<>'])財務數(shù)據(jù)分析財務數(shù)據(jù)分析str對象屬性和方法3)統(tǒng)計型函數(shù)count

()和

len()函數(shù)的作用分別是返回出現(xiàn)正則模式的次數(shù)和字符串的長度。s=pd.Series(['**','B***','Ab$'])財務數(shù)據(jù)分析財務數(shù)據(jù)分析str對象屬性和方法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')正則表達式基礎PartThere03財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析正則表達式概述正則表達式是一種文本模式,包括普通字符(例如,a-z之間的字母)和特殊字符(元字符),描述匹配字符串的特定模式,用來查找、替換、驗證和提取文本數(shù)據(jù)等操作。簡單地說,正則表達式是一個特殊的字符序列,其用于檢查一個字符串是否與某種模式匹配。通過使用正則表達式可以做到:數(shù)據(jù)驗證。通過測試字符串,得到需要的字符串模式。如電話號是有模式的數(shù)字組成的固定位數(shù)的字符串;匹配替換?;谀J狡ヅ鋸奶崛∽幼址?,進而進行后續(xù)操作;替換文本??梢允褂谜齽t表達式識別文檔中的特定文本,刪除或者替換文本。財務數(shù)據(jù)分析財務數(shù)據(jù)分析正則表達式語法1)正則表達式的構(gòu)造正則表達式是由普通字符和特殊字符(稱為“元字符”)組成的文字模式(pattern)財務數(shù)據(jù)分析財務數(shù)據(jù)分析正則表達式語法1)正則表達式的構(gòu)造正則表達式是由普通字符和特殊字符(稱為“元字符”)組成的文字模式(pattern)(1)普通字符普通字符包括沒有被指定為元字符的所有可打印和不可打印字符。財務數(shù)據(jù)分析財務數(shù)據(jù)分析正則表達式語法1)正則表達式的構(gòu)造正則表達式是由普通字符和特殊字符(稱為“元字符”)組成的文字模式(pattern)(2)元字符在正則表達式中,通常使用一些特殊的字符來描述模式,這些特殊的字符稱為元字符。常用的元字符包括:.[]*+?{}()|\^$財務數(shù)據(jù)分析財務數(shù)據(jù)分析正則表達式語法2)正則表達式基礎語法(1)【.】元字符元字符點【.】匹配除換行符【\n】之外的任何單字符。(2)匹配元字符像點【.】、【\】等是元字符。要匹配它們,需要請使用【\.】和【\\】財務數(shù)據(jù)分析財務數(shù)據(jù)分析正則表達式語法2)正則表達式基礎語法(3)限定符限定符用來指定正則表達式的一個給定組件必須出現(xiàn)多少次才能滿足匹配。限定符有

*

、

+

?、

{n}、

{n,}

、或

{n,m}

共6種。s='Apple蘋果!\nanApple\np'財務數(shù)據(jù)分析財務數(shù)據(jù)分析正則表達式語法2)正則表達式基礎語法(4)字符集和否定字符集字符集也稱為字符類,是匹配方括號中包含的任意字符。分兩種情況:①[],匹配方括號中包含的任意字符。②[^],否定字符類,匹配方括號中不包含的任意字符。財務數(shù)據(jù)分析財務數(shù)據(jù)分析正則表達式語法2)正則表達式基礎語法(4)字符集和否定字符集字符集也稱為字符類,是匹配方括號中包含的任意字符。分兩種情況:①[],匹配方括號中包含的任意字符。②[^],否定字符類,匹配方括號中不包含的任意字符。財務數(shù)據(jù)分析財務數(shù)據(jù)分析正則表達式語法2)正則表達式基礎語法(5)字符組字符組是一組寫在圓括號內(nèi)的子模式

(…)。如(xyz),按照確切的順序匹配字符xyz。還可以使用元字符【|】,表示“或”關系財務數(shù)據(jù)分析財務數(shù)據(jù)分析正則表達式語法2)正則表達式基礎語法(6)定位符在正則表達式中,使用定位符檢查匹配符號是否是起始符號或結(jié)尾符號。插入符號【^】符號用于檢查匹配字符是否是輸入字符串的第一個字符;$】符號用于檢查匹配字符是否是輸入字符串的最后一個字符財務數(shù)據(jù)分析財務數(shù)據(jù)分析正則表達式語法2)正則表達式基礎語法(7)斷言在使用正則表達式時,有時我們需要捕獲的內(nèi)容前后必須是特定內(nèi)容,但又不捕獲這些特定內(nèi)容的時候,需要帶有斷言正則表達式。斷言是非捕獲組內(nèi)容。財務數(shù)據(jù)分析財務數(shù)據(jù)分析正則表達式語法2)正則表達式基礎語法(7)斷言①正向先行斷言。正向先行斷言格式:

x(?=y)②負向先行斷言。負向先行斷言格式:

x(?!y)③正向后行斷言。正向后行斷言格式:

(?<=y)x④負向后行斷言。負向后行斷言格式:

(?<!y)x財務數(shù)據(jù)分析財務數(shù)據(jù)分析正則表達式語法2)正則表達式基礎語法(8)修飾符修飾符也稱為標記,正則表達式的修飾符用于指定額外的匹配策略。修飾符不寫在正則表達式里,位于表達式之外,語法格式:/pattern/flags財務數(shù)據(jù)分析財務數(shù)據(jù)分析正則表達式語法2)正則表達式基礎語法(9)使用反向引用在正則表達式中,\n

(n為整數(shù))可以用來引用前面捕獲組中匹配的內(nèi)容。例如匹配重復的單詞:‘\b(\w+)\b\s+\文本數(shù)據(jù)處理的5類操作PartFour04財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析拆分split()函數(shù)按照能夠匹配的子串將Series/Index分割后返回列表或Series/DataFrame,語法格式:財務數(shù)據(jù)分析財務數(shù)據(jù)分析合并合并操作有2個函數(shù),分別是

str.join()和str.cat()

。1)str.join()函數(shù)

str.join()表示用某個連接符把

Series

中的字符串列表連接起來,如果列表中出現(xiàn)了非字符串元素則返回缺失值。s.str.join(sep)只有1個參數(shù)sep,為合并所需的分隔符字符串2)str.cat()函數(shù)str.cat()按照給定分隔符合并Series/Index,語法格式:財務數(shù)據(jù)分析財務數(shù)據(jù)分析匹配1)str.contains()函數(shù)str.contains()返回了每個字符串是否包含正則模式的布爾序列,語法格式:2)str.startswith()和str.endswith()函數(shù)str.startswith()和str.endswith()返回了每個字符串以給定模式為開始和結(jié)束的布爾序列,他們都不支持正則表達式。財務數(shù)據(jù)分析財務數(shù)據(jù)分析匹配3)str.match()函數(shù)如果需要用正則表達式來檢測開始或結(jié)束字符串的模式,可以使用

str.match()

,其返回了每個字符串起始處是否符合給定正則模式的布爾序列,語法格式:財務數(shù)據(jù)分析財務數(shù)據(jù)分析提取str.extract()函數(shù)提取操作,是一種返回具體元素操作,首先是匹配操作,再根據(jù)匹配的結(jié)果提取捕獲組內(nèi)容并返回語法格式:str.extractall()不同于str.extract()只匹配一次,其會把所有符合條件的模式全部匹配出來。提取的多個結(jié)果,以多級索引的方式存儲。str.findall()的功能類似于str.extractall(),區(qū)別在于前者把結(jié)果存入列表中,而后者處理為多級索引,每個行只對應一組匹配,而不是把所有匹配組合構(gòu)成列表。財務數(shù)據(jù)分析財務數(shù)據(jù)分析替換Series/Dataframe的str.replace()和replace()并不是一個函數(shù),在使用字符串替換時應當使用前者。

1)replace()函數(shù)replace()函數(shù)是Series/Dataframe某一個或匹配的值的整個值的替換,而str.replace不是改變值的部分。Series/Dataframe的replace()函數(shù)語法格式:財務數(shù)據(jù)分析財務數(shù)據(jù)分析提取2)str.replace()函數(shù)Series/Dataframe的str.replace()函數(shù)某一個或匹配的值的部分值的替換,語法格式:財務數(shù)據(jù)分析財務數(shù)據(jù)分析flags參數(shù)flags參數(shù)是用來指定正則表達式操作的額外選項。下面列出了常用的flags及其用法。re.I/re.IGNORECASE:忽略大小寫re.M/re.MULTILINE:多行匹配re.S/re.DOTALL:讓.可以匹配包括\n在內(nèi)的任意字符re.U/re.UNICODE:使用Unicode字符集而不是ASCII字符集【Python財務數(shù)據(jù)分析】——上市公司基本信息文本數(shù)據(jù)處理PartPractice05財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析【小結(jié)】本章是以Pandasstr對象為主要內(nèi)容,講述Pandas的文本處理的基礎用法。熟練掌握這些應用會提升文檔處理和辦公自動化能力。文本數(shù)據(jù)的處理,尤其是基于正則表達式操作較為復雜,本章學習的內(nèi)容是較為基礎的。較深的內(nèi)容需要借助其他第三方模塊,如中文分詞,詞性標注,自然語言處理等,需要以后不斷學習拓展。THANKS感謝關注財務數(shù)據(jù)分析財務數(shù)據(jù)分析時間序列數(shù)據(jù)處理9-2TimeSeriesDataProcessing內(nèi)容概述本章學習目標財務數(shù)據(jù)分析財務數(shù)據(jù)分析(1)了解時間序列分析的應用場景;(5)熟悉時間偏置DateOffset對象和窗口函數(shù);(4)掌握dt對象的屬性和方法;(2)掌握Datetimes數(shù)據(jù)類型的屬性和方法;(3)掌握Timedeltas數(shù)據(jù)類型的屬性和方法;(6)利用Pandas進行簡單的時間序列分析。目錄CONTENTS財務數(shù)據(jù)分析財務數(shù)據(jù)分析9.2時間序列數(shù)據(jù)處理

1時間序列概述2時間點 3時間差 4時間偏置5窗口函數(shù)【Python財務數(shù)據(jù)分析】——財務數(shù)據(jù)的時間序列數(shù)據(jù)分析時間序列概述PartOne01財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析時間序列概述時間序列是按時間順序索引的一系列數(shù)據(jù)點。最常見的時間序列是在連續(xù)的等間隔時間點上獲得的序列有關時間序列的應用場景,分為以下4種情況:(1)時間點。即特定的時刻,記錄時間維度的具體一個位置。(2)時間差。兩個時間點做差就得到了時間差。時間差可以是幾年,幾個月,幾天,幾分,幾秒,甚至小到納秒。因為是時間差值,因此既可以是正數(shù),也可以是負數(shù)。(3)時間跨度。即以時間為計量的迭代單位,時間記錄迭代步長,以時間為計量的規(guī)律變化的一種時間差。(4)時間偏置。日期偏置是一種和日歷相關的特殊時間差,是與時間計量的不同單位進制造成的特殊時間差。時間點PartTwo02財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析時間點時間點(Datetimes)問題,Pandas提供Timestamp、DatetimeIndex、datetime64[ns]3種數(shù)據(jù)類型。Timestamp對象是時間點元素類型,表示確切的一個時間點;由Timestamp對象組成的序列是DatetimeIndex對象;DatetimeIndex對象可以作為Pandans的一個Series或者DataFrame的一列,數(shù)據(jù)類型為datetime64[ns]。財務數(shù)據(jù)分析財務數(shù)據(jù)分析Timestamp的構(gòu)造與屬性Pandas提供Timestamp(時間戳)類構(gòu)造時間戳對象。單個時間戳的生成利用pd.Timestamp()實現(xiàn)Timestamp由date(日期)和time(時間)組成;其中日期又由year、month和day組成;時間由hour、minute和second組成。財務數(shù)據(jù)分析財務數(shù)據(jù)分析Datetime序列一組時間戳可以組成時間序列DatetimeIndex。通過to_datetime()和date_range()函數(shù)生成時間序列,即把時間戳格式的對象轉(zhuǎn)換成為datetime64[ns]類型的時間序列range()和np.arange()函數(shù),pd.date_range()是一種生成連續(xù)間隔時間的一種方法語法格式:財務數(shù)據(jù)分析財務數(shù)據(jù)分析時序類型dt對象Pandas在時序類型的序列上定義了dt對象來完成時間序列的相關操作。這些操作可以大致分為3類:dt屬性,時間戳判定,取整操作。1)dt屬性dt對象時間分量值屬性包括:date,time,year,month,day,hour,minute,second,microsecond,nanosecond,dayofweek,dayofyear,weekofyear,daysinmonth,quarter等2)時間戳判定dt對象時間戳判定包括主要用于測試是否為月/季/年的第一天或者最后一天等,如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(小時),min(分鐘),S(秒),即完成時間點的不同方式取整。財務數(shù)據(jù)分析財務數(shù)據(jù)分析dt索引和切片財務數(shù)據(jù)分析財務數(shù)據(jù)分析dt索引和切片時間差PartThere03財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析時間差兩個時間戳(Timestamp)做差就得到了時間差(Timedeltas),Pandas中利用Timedelta對象來表示。類似于DatatimeIndex,一系列的時間差就組成TimedeltaIndex,而TimedeltaIndex置于DataFrame或Series中,其類型為timedelta64[ns]。財務數(shù)據(jù)分析財務數(shù)據(jù)分析創(chuàng)建Timedelta對象時間差可以理解為兩個時間戳的差,這里也可以通過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')#字符串生成財務數(shù)據(jù)分析財務數(shù)據(jù)分析Timedelta序列對于時間差序列的生成,需要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))時間差序列也可以用timedelta_range()方法,參數(shù)與date_range()類似,示例代碼如下。pd.timedelta_range('1m','1000m',freq='1h')pd.timedelta_range('0h','1000h',periods=9)財務數(shù)據(jù)分析財務數(shù)據(jù)分析時間差dt對象對于Timedelta序列,同樣也定義了dt對象,接上例代碼。td_dt=(pd.Series(td2-td1)).dtTimedelta的dt對象定義了的屬性包括days,seconds,mircroseconds,nanoseconds等,與DatatimeIndex的dt對象類似。財務數(shù)據(jù)分析財務數(shù)據(jù)分析Timedelta的運算時間點是定距類型數(shù)據(jù),但是時間差卻是比例類型數(shù)據(jù),可以進行加、減、乘、除運算都有意義。時間偏置PartFour04財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析Offset對象Offset對象通過pd.offsets定義。當使用加法(+)運算時獲取離其最近的下一個日期,當使用減法(-)運算時獲取離其最近的上一個日期。[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')財務數(shù)據(jù)分析財務數(shù)據(jù)分析偏置字符串pd.date_range()函數(shù)可以生成連續(xù)的日期時間序列語法格式:pd.date_range(start=None,end=None,periods=None,freq=None,tz=None,normalize=False,name=None,inclusive='both',*,unit=None,**kwargs)式中freq取值可用Offset對象,稱為頻率字符串,是

DateOffset

對象及其子類。窗口函數(shù)PartFive05財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析窗口函數(shù)窗口函數(shù)可以為每行數(shù)據(jù)進行一次計算,因為窗口函數(shù)指定了數(shù)據(jù)窗口大小,可以在這個滑動窗口里進行計算并返回一個值。聚合函數(shù)只返回一行或?qū)Ψ纸M下的所有數(shù)據(jù)進行統(tǒng)計。財務數(shù)據(jù)分析財務數(shù)據(jù)分析滑動窗口函數(shù)窗口函數(shù)就是一個可以在滑動窗口實現(xiàn)各種統(tǒng)計操作的函數(shù)。一個滑動窗口是一個移動變化的小區(qū)間,所以窗口函數(shù)可以在不斷變化的小區(qū)間里實現(xiàn)各種復雜的統(tǒng)計分析。Pandasrolling()函數(shù)的語法格式:財務數(shù)據(jù)分析財務數(shù)據(jù)分析時序的滑動窗口所謂時序的滑窗函數(shù),即把滑動窗口用freq關鍵詞代替。將偏移量傳遞給rolling()函數(shù),并使其根據(jù)傳遞的時間窗口生成可變大小的窗口。函數(shù)作用于每個時間點,以及偏移量的時間增量內(nèi)出現(xiàn)的所有先前值。財務數(shù)據(jù)分析財務數(shù)據(jù)分析時序的擴張窗口擴張窗口又稱累計窗口,可以理解為一個動態(tài)長度的窗口,其窗口的大小就是從序列開始處到具體操作的對應位置,其使用的聚合函數(shù)會作用于這些逐步擴張的窗口上?!綪ython財務數(shù)據(jù)分析】——財務數(shù)據(jù)的時間序列數(shù)據(jù)分析PartPractice05財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析【小結(jié)】本節(jié)主要介紹了時間序列的特殊數(shù)據(jù)處理。時間序列是財經(jīng)數(shù)據(jù)分析的重要內(nèi)容,因此Pandas對其有較豐富的對象屬性和方法。我們重點介紹Datatime和Timedeltas對象,他們組成的序列DatetimeIndex和TimedeltaIndex,以及他們在Series和DataFrame的數(shù)據(jù)類型datetime64[ns]和timedelta64[ns]。dt對象與str、cat等對象非常類似,但函數(shù)參數(shù)較為復雜。本章內(nèi)容較為綜合,需要實踐練習才能漸漸掌握,逐步熟悉。THANKS感謝關注財務數(shù)據(jù)分析財務數(shù)據(jù)分析基于機器學習的財務應用9-3DataAnalysisandMachineLearning內(nèi)容概述本節(jié)學習目標財務數(shù)據(jù)分析財務數(shù)據(jù)分析(1)理解人工智能的概念和研究范疇;(4)利用簡單的機器學習的算法進行財務數(shù)據(jù)分析。(2)了解機器學習的概念和方法;(3)掌握簡單的機器學習的算法,及Python編程;目錄CONTENTS財務數(shù)據(jù)分析財務數(shù)據(jù)分析9.3基于機器學習的財務應用1人工智能2機器學習3sklearn 【Python財務數(shù)據(jù)分析】——基于上市公司年報財務指標的機器學習財務應用人工智能PartOne01財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析人工智能概述

20世紀50年代,圖靈首次提出了“機器思維”的概念。他提出了一項測試,以確定計算機能否進行“思考”:如果一臺計算機的行為、反應和互動像一個有意識的個體,那么它應該被視為有意識的,即提出了“機器能思維”的觀點。

人工智能(ArtificialIntelligence,AI)是由申農(nóng)(ClaudeShannon)等在1956年一次會議上被提出來的。一般認為人工智能是任何類似于人的智能或高于人的智能的機器或算法統(tǒng)稱。財務數(shù)據(jù)分析財務數(shù)據(jù)分析人工智能學派1)符號主義符號主義(symbolicism)的觀點:人工智能起源于數(shù)理邏輯,人類認知的基元是符號,認知過程是符號表示上的一種運算?;谥R的問題求解財務數(shù)據(jù)分析財務數(shù)據(jù)分析人工智能學派2)連接主義連接主義(connectionism)的觀點:人工智能起源于仿生學,特別是人腦模型,人類認知的基元是神經(jīng)元,認知過程是神經(jīng)元的聯(lián)結(jié)活動過程。playground可視化神經(jīng)網(wǎng)絡財務數(shù)據(jù)分析財務數(shù)據(jù)分析人工智能學派3)行為主義學派行為主義(actionism)的觀點:人工智能起源于控制論,智能取決于感知和行為,是對外界復雜環(huán)境的適應,而不是推理。以自動駕駛汽車為例,它在行駛過程中,不斷接收來自攝像頭、激光雷達和其他傳感器的數(shù)據(jù)。當遇到行人突然出現(xiàn)在道路上時,汽車會立即根據(jù)這些實時的感知信息采取剎車動作。這個決策不是基于預先編寫的固定程序,而是基于對環(huán)境的實時感知和過去在類似情況下的學習經(jīng)驗(通過大量的模擬訓練或?qū)嶋H道路測試積累),以實現(xiàn)安全、高效的駕駛行為。機器學習PartTwo02財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析財務數(shù)據(jù)分析機器學習概念符號主義需要基于人類認知的規(guī)則,連接主義基于數(shù)據(jù)處理的物理模型假設空間,而行為主義需要行為結(jié)果與行為環(huán)境的交互。這些人工智能領域,本質(zhì)都是數(shù)據(jù)到知識的映射。從原始數(shù)據(jù)中獲取有用知識的能力被稱為機器學習(machinelearning)。機器學習與人類思維的對比財務數(shù)據(jù)分析財務數(shù)據(jù)分析數(shù)據(jù)、信息和知識1)數(shù)據(jù)數(shù)據(jù)泛指對客觀事物的數(shù)量、屬性、位置及其相互關系的抽象表示,以適合用人工或自然的方式進行保存、傳遞和處理。數(shù)據(jù)是知識階層中最底層也是最基礎的一個概念,是形成信息、知識和智能的源泉,是機器學習“原料”。換句話說,機器模型需要數(shù)據(jù)“喂養(yǎng)”,才能“成熟”。財務數(shù)據(jù)分析財務數(shù)據(jù)分析數(shù)據(jù)、信息和知識3)知識數(shù)據(jù)是信息的載體,本身無確切含義。知識可以理解為信息與信息之間的關聯(lián)。通過對信息使用歸納、演繹的方法得到知識。在表中9-1,我們發(fā)現(xiàn):樣本的特征“所有者權益”與特征“資產(chǎn)”和“負債”存在這種關聯(lián)關系:如果“資產(chǎn)”和“負債”兩個特征的值,就可以得到特征“所有者權益”值。這種關聯(lián)關系就是知識。財務數(shù)據(jù)分析財務數(shù)據(jù)分析數(shù)據(jù)、信息和知識財務數(shù)據(jù)分析財務數(shù)據(jù)分析機器學習過程財務數(shù)據(jù)分析財務數(shù)據(jù)分析機器學習過程1)機器學習前提機器之所以能夠?qū)W習,是有數(shù)學原理支持的。簡單地說,就是數(shù)學證明通過大量描述事物的數(shù)據(jù),可以發(fā)現(xiàn)其中的規(guī)律。我們把要發(fā)現(xiàn)的規(guī)律視為一種假設:“未知的目標函數(shù)假設”,即機器學習的假設前提。通過事物的描述(X),存在一個理想化的映射(f):XY。X是已知樣本的樣本空間,Y是樣本的一個新特征空間。這個假設的存在是我們機器學習的前提。財務數(shù)據(jù)分析財務數(shù)據(jù)分析機器學習過程2)獲取數(shù)據(jù)有了(1)的前提,我們需要首先要得到盡可能多且全面的事物描述數(shù)據(jù)(X),以及通過經(jīng)驗或過去的事實了解已知事物的特征(Y)的值,即數(shù)據(jù)集D:(X,Y)。X為目標函數(shù)(g)的左側(cè)特征值,Y為目標函數(shù)映射的特征向量。Y的值獲取具有多種途徑,因此演化多種機器學習的方法,如有監(jiān)督機器學習,無監(jiān)督機器學習,強化學習,自學習等財務數(shù)據(jù)分析財務數(shù)據(jù)分析機器學習過程3)數(shù)據(jù)預處理數(shù)據(jù)在學習之前,要滿足學習算法的要求,如數(shù)據(jù)變換、數(shù)據(jù)標準化等。這里我們只討論數(shù)據(jù)拆分這一步驟。通常會把數(shù)據(jù)分成2部分(有時也分為3部分,訓練集、測試集和驗證集),即訓練集(trainingset)和測試集(testingset)。訓練集是用來訓練模型,測試集是在模型的訓練之后評估模型的好壞。數(shù)據(jù)拆分有很多方法,如K折交叉檢驗(K-foldcross-validation)——大致思想是把數(shù)據(jù)集分成K份,每次取一份作為測試集,取余下的K-1份作為訓練集。財務數(shù)據(jù)分析財務數(shù)據(jù)分析機器學習過程4)學習訓練除了訓練數(shù)據(jù)集,學習訓練需要另外2個要素:假設空間和算法。(1)假設空間:我們根據(jù)已有的認知,使用某種思維框架把理想的函數(shù)f所在的空間表示出來,即假設空間H:X->Y。H可以被理解為X->Y的“形態(tài)”空間,空間中的具體模型形式可能有無限多個。(2)算法:算法A可以理解為從假設空間H中,找到一個最優(yōu)或次優(yōu)的模型的數(shù)學方法。算法求解的條件是:得到的模型g,使得g(X),無限接近f(X)=Y。即從假設空間中找到一個模型g,使得映射得到的與已知事實的Y的差異盡可能小?;诖?,機器學習一般可以轉(zhuǎn)換為最小化問題求解。財務數(shù)據(jù)分析財務數(shù)據(jù)分析機器學習過程5)模型評估模型g在訓練集上表現(xiàn)很好,即預測值與真實值差異趨近最小。但是未必在測試集上有同樣的表現(xiàn)。算法A學習X得到的g,可能有缺陷[這種缺陷來自多個方面:①訓練集X不能完全代表事物本身,或數(shù)量不足;②人類認知有限,事物的規(guī)律f不在假設空間H之中;③算法A本身有問題,得到的g不是一個合適的解。這里涉及過擬合、欠擬合和超級參數(shù)等概念。如果模型g在測試集上表現(xiàn)不佳,則要回到前面的重新學習訓練。通過了測試,則模型就能用于預測分析了。財務數(shù)據(jù)分析財

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論