pandas重塑和轴向旋转

《pandas重塑和轴向旋转》

简介

pandas中重新排列表格型数据的操作称为重塑(reshape)和轴向旋转(pivot)。可以将一个高维的数据按照想要的方式二维平铺展开。

重塑

重塑操作方法有两个:

  • stack():将数据的列旋转为行;
  • unstack():将数据的行旋转为列。

代码演示:

默认stack将列转为行后,放在最内层。在这里就得到了一个Series。而通过unstack可以逆操作,将行转为列:

默认unstack也是转换最内层,或者我们可以传入分层级别的编号或名称显式指定要转换的行:

分层级别编号从外到内依次0,1…,或者指定该行的name值也可以。

如果不是所有级别都能在各个分组中找到,unstack就会引入缺失值:

可以看出此时引入了缺失值,而使用stack默认会过滤缺失数据:

或者使用dropna参数设定不过滤缺失值:

轴向旋转

假如有这样一个数据:

事实上在数据库中,很多数据都是这样存储的,我们更希望将date当做索引,不同的item形成一列。因此就可以通过pivot()方法实现:

前两个参数分别当做行和列,最后的参数来填充数据列。如果忽略最后一个参数,就会得到一个层次化索引:

本质上pivot()方法是set_indexunstack结合使用的快捷方式:

总结

本文介绍了pandas中对数据的重排操作(重塑和轴向旋转),重排的好处是能够获得想要的数据形式,方便接下来的数据过滤和清理。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

3 × 5 =