0
点赞
收藏
分享

微信扫一扫

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实现行转列_3d_02


至此就实现了行转列。

参考
​​Python中pandas透视表pivot_table功能详解(非常简单易懂)​​​pandas.DataFrame的pivot()和unstack()实现行转列​​


举报

相关推荐

0 条评论