开眼界!Python的pandas轻松做出Excel能手动筛选透视表的效果



但是这远远不够,想看不同年份或不同 Top N 的结果,都需要修改代码。

我们稍微加工一下这个过程,定义一个函数:

开眼界!Python的pandas轻松做出Excel能手动筛选透视表的效果

  • 现在好一些,但是改变条件仍然需要修改代码

简单加上一个装饰器即可:

开眼界!Python的pandas轻松做出Excel能手动筛选透视表的效果

  • 行1:@wg.interact 是一个装饰器,打到我们的自定义函数上
  • 其中每个命名参数为自定义函数上的参数
  • x_df=wg.fixed(df) ,表示 x_df 参数使用变量 df,并且这个参数是不需要改变的。因此界面上就没有这个变量的选项
  • year=[2015,2016,2017,2018] ,年份有4种选择,此时界面上看到一个 year 的下拉框供用户点选
  • topn=range(1,11) ,topn 有10种选择,界面同样可以看到下拉框
  • 现在,我们只需要简单从下拉框选择条件值,下方的结果会马上刷新,这与 Excel 中的透视表一模一样

不过,大家都知道 Excel 中还能根据透视表制作透视图,这里我们同样可以制作出动态变化的图表

开眼界!Python的pandas轻松做出Excel能手动筛选透视表的效果

开眼界!Python的pandas轻松做出Excel能手动筛选透视表的效果

  • 行13,14:使用 display 方法,输出内容即可


开眼界!Python的pandas轻松做出Excel能手动筛选透视表的效果


总结

接下来,我将会讲解关于小组件的应用系列,他在 Python 数据探索和数据可视化方面,能做出很多有趣的事情,敬请关注!

需要源码的小伙伴请转发本文并私信我"python"


如果希望从零开始学习 pandas ,那么可以看看我的 pandas 专栏。


分享到:


相關文章: