基於“拆分-應用-合併”正規化,計算分組加權平均數和相關係數

基於“拆分-應用-合併”正規化,計算分組加權平均數和相關係數

【大家在看春晚的時候,小編在寫python文章,分享給大家,記得關注小編,這是最好的禮物!】

基於“拆分-應用-合併”正規化,計算分組加權平均數和相關係數

前言

python語言中的groupby技術,是一種“拆分-應用-合併”的正規化。所謂正規化,它具有複用能力,可以應用到不同的符合的應用場景。pandas有兩種資料結構,分別是Series和DataFrame。我們可以簡單理解Series是一個沒有列名的一組值,DataFrame是幾個帶有列表的列的組合。如果首次接觸,可以多想想平時接觸到的各種excel和csv等格式的資料檔案,然後結合著去理解,不會感覺特別抽象。

基於“拆分-應用-合併”正規化,計算平均數

根據groupby的“拆分-應用-合併”正規化,DataFrame的列與列之間或兩個Series之間的運算(比如分組加權平均)成為一種標準作業。接下來,我們先來建立一個數據集df,它含有分組鍵、值以及一些權重值:

基於“拆分-應用-合併”正規化,計算分組加權平均數和相關係數

如上圖中的程式碼所示,我們建立了DataFrame資料結構的物件df,包含兩個三個鍵,分別為“category”、“data”和“weights”。第二步,根據“category”對df物件進行分組,並生成一個grouped物件。第三步,使用lambda函式建立get_wavgd物件。第四步則是對grouped物件應用get_wavgd,使用的是apply方法。

選取固定的欄位

在實際資料處理的過程中,經常會做的一件事情就是從大的資料集中選擇分析時所需要的欄位。那麼,如何進行欄位的選取呢?我們一起來看下面的例子:

​colse_px=pd。read_cs(‘G;\LPTPython\pydata-book-2nd-edition\pydata-book-2nd-edition \examples\stock_px。csv’,parse_dates=false,index_col=0)

基於“拆分-應用-合併”正規化,計算分組加權平均數和相關係數

如上述程式碼所示,首先使用pandas中的read_csv方法進行資料的讀取,並且設定了索引列(index_col),同時生成一個新的物件close_px。然後使用偏移量進行資料的選取。

計算相關係數

百分數的計算方法,在python語言中可以使用pct_change,下面的程式碼片段中會使用到該方法。接下來,我們來計算日收益率與列之間的相關係數。計算一個由日收益率(透過百分數變化計算)與SPX之間的年度相關係數組成的DataFrame。下面是一個實現方法:

基於“拆分-應用-合併”正規化,計算分組加權平均數和相關係數

計算列與列之間的相關係數,具體的程式碼實現如下圖片所示:

基於“拆分-應用-合併”正規化,計算分組加權平均數和相關係數

上述實現方法同計算平均數一樣,都是基於“拆分-應用-合併”正規化進行的操作。

總結

綜上所述,本文分享的主題是基於“拆分-應用-合併”正規化,計算分組加權平均數和相關係數的方法和相應的程式碼片段,供大家參考。在使用“拆分-應用-合併”正規化的過程中,需要清楚理解其本質,這樣才能更好的進行應用。大家可以依據此類示例,進行其他應用場景的擴充套件。

新年一句話:

【今日是除夕夜,大家應該在看春晚,小編手動釋出此文章,祝願大家春節快樂!希望在新年和未來一直有大家的陪伴,在成長的路上一起前行。】

基於“拆分-應用-合併”正規化,計算分組加權平均數和相關係數