pandas 数据透视和逆透视

本篇介绍 pandas 数据重塑的几个有用变换。假设我们有学生语数外考试的成绩数据,大家常见的是这种格式:

如果数据放在数据库中,下面的格式比较符合数据库范式:


现在,任务来了。要实现由图一向图二的变换,传统的 Excel 功能不容易实现,有了 Power Query 之后,可以使用 Power Query 的逆透视功能来说实现。

如果要实现由图二向图一的格式的变换,比较简单的方法是利用数据透视表。因为数据中有数字,所以相对来说还比较简单。因为本篇目的是介绍 pandas 的实现方法,对 Excel 中如何实现数据格式的转换就不做展开。

我将图 2 的数据放在 Sheet3 中,利用 read_excel() 方法读取数据:

import pandas as pd
df = pd.read_excel('data_shaping_sample_data.xlsx', sheet_name='Sheet3')

此时显示 df 如下:


将 df 调用 pivot() 方法进行透视:

df_pivot = df.pivot(index='Name', columns='Subject', values='Score')
df_pivot


对于逆透视呢,pandas 也提供了很好的支持,以下代码演示了使用方法:


  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值