pandas教程-task4(變形)

pandas變形的常用功能有:

1. pivot
一般狀態下,數據在DataFrame會以壓縮(stacked)狀態存放,例如上面的Gender,兩個類別被疊在一列中,pivot函數可將某一列作爲新的cols:

然而pivot函數具有很強的侷限性,除了功能上較少之外,還不允許values中出現重複的行列索引對(pair),例如下面的語句就會報錯:¶

因此,更多的時候會選擇使用強大的pivot_table函數
2. pivot_table
首先,再現上面的操作:
Pandas中提供了各種選項,下面介紹常用參數:
① aggfunc:對組內進行聚合統計,可傳入各類函數,默認爲'mean';
② margins:彙總邊際狀態
③ 行、列、值都可以爲多級

3. crosstab(交叉表)
交叉表是一種特殊的透視表,典型的用途如分組統計,如現在想要統計關於街道和性別分組的頻數:
交叉表的功能也很強大(但目前還不支持多級分組),下面說明一些重要參數:
① values和aggfunc:分組對某些數據進行聚合操作,這兩個參數必須成對出現
② 除了邊際參數margins外,還引入了normalize參數,可選'all','index','columns'參數值

二、其他變形方法
1. melt
melt函數可以認爲是pivot函數的逆操作,將unstacked狀態的數據,壓縮成stacked,使“寬”的DataFrame變“窄”
melt函數中的id_vars表示需要保留的列,value_vars表示需要stack的一組列
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章