財經(jīng)大數(shù)據(jù)分析-以Python為工具 課件 ch07-制作數(shù)據(jù)透視表和計算行業(yè)競爭度-應(yīng)用數(shù)據(jù)分組_第1頁
財經(jīng)大數(shù)據(jù)分析-以Python為工具 課件 ch07-制作數(shù)據(jù)透視表和計算行業(yè)競爭度-應(yīng)用數(shù)據(jù)分組_第2頁
財經(jīng)大數(shù)據(jù)分析-以Python為工具 課件 ch07-制作數(shù)據(jù)透視表和計算行業(yè)競爭度-應(yīng)用數(shù)據(jù)分組_第3頁
財經(jīng)大數(shù)據(jù)分析-以Python為工具 課件 ch07-制作數(shù)據(jù)透視表和計算行業(yè)競爭度-應(yīng)用數(shù)據(jù)分組_第4頁
財經(jīng)大數(shù)據(jù)分析-以Python為工具 課件 ch07-制作數(shù)據(jù)透視表和計算行業(yè)競爭度-應(yīng)用數(shù)據(jù)分組_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Python與財經(jīng)大數(shù)據(jù)分析基礎(chǔ)第7章制作數(shù)據(jù)透視表和計算行業(yè)競爭度——應(yīng)用數(shù)據(jù)分組

CONTENTS目錄04數(shù)據(jù)排序與排名05數(shù)據(jù)分箱06應(yīng)用實踐01概述02Groupby語法03數(shù)據(jù)聚合與計算01概述根據(jù)所給數(shù)據(jù),根據(jù)特定標(biāo)簽或分類變量對整體數(shù)據(jù)進行分組,從而實現(xiàn)數(shù)據(jù)的高效分類計算。現(xiàn)實中,我們經(jīng)常需要根據(jù)特定標(biāo)簽或字段,對整體數(shù)據(jù)進行分組處理和操作。例如:

按照上市公司資產(chǎn)規(guī)模分兩組,計算每組市值加權(quán)平均收益率;按照公司是否被提起民事訴訟分為兩類,并統(tǒng)計他們的特征;按照班級計算學(xué)生的平均成績等等。

7.1概述(一)分組假設(shè),我們有一個數(shù)據(jù),由4000多家上市公司的日交易數(shù)據(jù)構(gòu)成。我們想分別把每一家上市公司的未來一期(t+1)的收益率return,做一個滯后(放到t期上顯示),即對數(shù)據(jù)統(tǒng)一向后遞延一期。該如何處理?

7.1概述(二)分組的應(yīng)用示例處理流程:1)選擇每一只股票;2)進行滯后處理3)合并所有股票數(shù)據(jù)數(shù)據(jù)處理方法:1)for循環(huán)每只股票;2)利用DataFrame分組函數(shù)高效處理7.1概述(二)分組的應(yīng)用示例StkcdTrddtReturn(t)Return(t+1)X2022-11-140.010.02X2022-11-150.02-0.05X2022-11-16-0.05NaNY2022-11-150.030.01Y2022-11-160.010.06Y2022-11-170.06-0.02Y2022-11-18-0.02NaN02Groupby語法在DataFrame中,可以通過Groupby來進行分組操作。當(dāng)調(diào)動Groupby時,它會生成一個分組對象,保存在內(nèi)存里。接著,針對這個分組對象,我們可以引用所需函數(shù)進行分組計算。最后,再按照組別返回對應(yīng)的處理結(jié)果,形成一個新的表單。

7.2Groupby語法(一)概述如圖所示:

7.2Groupby語法(一)概述7.2Groupby語法(二)df.groupby()基本語法03數(shù)據(jù)聚合與計算7.3數(shù)據(jù)聚合與計算(一)概述在DataFrame中,引用Groupby對數(shù)據(jù)分組后,接下來就是引用相應(yīng)的方法對數(shù)據(jù)分組聚合和計算。數(shù)據(jù)聚合的常用方法agg;數(shù)據(jù)分組計算的常用函數(shù)apply,自由度最高。7.3數(shù)據(jù)聚合與計算(二)數(shù)據(jù)聚合方法——aggdf.groupby(‘Key1’).agg({‘Key4’:[np.mean,np.count]})7.3數(shù)據(jù)聚合與計算(三)數(shù)據(jù)聚合方法——applydf.groupby(‘Column’).apply(func,axis=0)該函數(shù)是基于分組后,對組層面的運算;傳入該函數(shù)的是分組后的,每一個DataFrame經(jīng)過運算后返回為新的DataFrame或Series或Scalar,最終再合并輸出為一個DataFrame?;菊Z法:func:對行或列進行運算的函數(shù);axis:1表示對每列進行運算,0表示對每行進行運算;7.3數(shù)據(jù)聚合與計算(三)數(shù)據(jù)聚合方法——applydf.groupby(’class‘).apply(np.mean)classaroelevX3......Y1......Y3......X6......Y5......Z2......Z4......X9......Z6......classaroelevX3......X6......X9classaroelevY1......Y3......Y5classaroelevZ2......Z4......Z6......classaX6Y3Z404數(shù)據(jù)排序與排名7.4數(shù)據(jù)排序與排名(一)概述在DataFrame中,所謂排序,就是根據(jù)制定列或行對整體數(shù)據(jù)進行重新排列,方便瀏覽數(shù)據(jù),也方便觀察特定變量變化趨勢,與其他變量之間的關(guān)系。所謂排名,則是根據(jù)指定列值的大小,進行排序,根據(jù)大小排序,并不改變原數(shù)據(jù)的排列。7.4數(shù)據(jù)排序與排名(一)概述classaX2Y1Y3X6classarank_aX23Y14Y32X61classaY1X2Y3X6排序排名7.4數(shù)據(jù)排序與排名(二)數(shù)據(jù)排序DataFrame.sort_values(by,*,axis=0,ascending=True,inplace=False)主要參數(shù):by:str或listofstraxis:{0或‘index’,1或‘columns’}ascending:defaultTrue,升序排列,F(xiàn)alse是降序排列。inplace:排序后保留覆蓋原數(shù)據(jù)。DataFrame.sort_index()7.4數(shù)據(jù)排序與排名(三)數(shù)據(jù)排名DataFrame.rank(axis=0,method='average',ascending=True)主要參數(shù)說明:axis{0or‘index’,

1or‘columns’},default0method{‘a(chǎn)verage’,‘min’,‘max’,‘first’,‘dense’},default‘a(chǎn)verage’當(dāng)組內(nèi)有重復(fù)值的時候如何處理:average:組均值;min:組最小值;max:組最大值;first:

按照出現(xiàn)在數(shù)據(jù)中的先后順序;dense:類似min,但逐漸增加1。05數(shù)據(jù)分箱7.5數(shù)據(jù)排序與排名(一)概述變量分箱(binning)屬于對連續(xù)變量離散化類型中的一種,例如,信用評分系統(tǒng)中一般有常用的等距分段、等深分段、最優(yōu)分段。在資產(chǎn)定價領(lǐng)域,我們在計算famaandFrench規(guī)模因子SMB的時候,需要對規(guī)模按照中位數(shù)分為Big和Small兩類。按照價值選股因子,綜合打分,并根據(jù)購買等級分類等等。在DataFrame中,對所有數(shù)據(jù)進行分箱操作的函數(shù),經(jīng)常用到的兩個pd.cut(等距分組)和pd.qcut(等頻分組或分位數(shù)分組)。7.5數(shù)據(jù)排序與排名(二)數(shù)據(jù)分箱方法——pd.cut可以將數(shù)據(jù)從大到小進行等距劃分7.5數(shù)據(jù)排序與排名(二)數(shù)據(jù)分箱方法——pd.cut可以將數(shù)據(jù)從大到小進行等距劃分50總距離=最大-最小=50-0=50;假設(shè)分為5組;組間間隔=總距離/組數(shù)=50/5=10;第1組:(min:min+10]-----------------------對應(yīng)a組第2組:(min+10:min+10+10]--------------------對應(yīng)b組第3組:(min+10+10:min+10+10+10]---------對應(yīng)c組---空第4組:(min+10+10+10:min+10+10+10+10]--------對應(yīng)d組第5組:(min+10+10+10+10:min+10+10+10+10+10]--對應(yīng)e假設(shè):right=True,右邊界算在內(nèi)07.5數(shù)據(jù)排序與排名(三)數(shù)據(jù)分箱方法——pd.qcutpandas.qcut(x,q,labels=None,retbins=False,precision=3,duplicates='raise')參數(shù)說明:x:ndarray或Series。q:integer,指示劃分的組數(shù)。labels:array或bool,默認(rèn)為None。當(dāng)傳入數(shù)組時,分組的名稱由label指示;當(dāng)傳入Flase時,僅顯示分組下標(biāo)。precision:int,精度,默認(rèn)為3。7.5數(shù)據(jù)排序與排名(三)

溫馨提示

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

最新文檔

評論

0/150

提交評論