pivot_table實作行轉列
- pivot_table
- 函數
- 樣例
pivot_table
透視表是一種可以對資料動态排布并且分類彙總的表格格式。或許大多數人都在Excel使用過資料透視表,也體會到它的強大功能,而在pandas中它被稱作pivot_table。其實際上是建立階層化索引。
函數
pivot_table(data, values=None, index=None, columns=None,aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All')
pivot_table有四個最重要的參數index、values、columns、aggfunc
- index關于index和columns都支援清單,如果傳入多個index則生成一個多重索引,如果是單一index,建議不要使用清單傳入
- columns傳入想要将某一行的值轉為例
- Values可以對需要的計算資料進行篩選
- aggfunc參數可以設定我們對資料聚合時進行的函數操作,min,max,np.sum np.mean等,預設是aggfunc=‘mean’。
樣例
以下圖的dataframe為例,我們想将每一個學生的學科成績按列顯示。
首先設定index,每個pivot_table必須設定index,這裡index設定為UserName,然後将我們想要轉為列的index傳給columns
pd.pivot_table(df,index="UserName",columns="Subject")
![在這裡插入圖檔描述](https://img-blog.csdnimg.cn/20200116105528433.png?x-ossprocess=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDU0ODEzNg==,size_16,color_FFFFFF,t_70 =50*50)
通常轉換完的表需要重設索引