天天看點

pandas pivot實作行轉列

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為例,我們想将每一個學生的學科成績按列顯示。

pandas pivot實作行轉列

首先設定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)

通常轉換完的表需要重設索引

pandas pivot實作行轉列