pandas pivot实现行转列

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)
通常转换完的表需要重设索引
在这里插入图片描述
至此就实现了行转列。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值