经常听别人说 Python 在数据领域有多厉害,结果学了很长时间,连数据处理都麻烦得要死。后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器—— pandas
本系列介绍了许多类比 Excel 的 pandas 操作,确实他们都能很好对应起来,这是因为 pandas 本身是以行列表作为核心概念,比如说 Excel 中的透视表,在 pandas 中就有一一对应,本系列已经讲解过。
Excel 的操作便利性在于只需要鼠标点击就可以完成操作,这对于查看数据是非常方便。
难道我们用 Python 就不能做到吗?本文将结合一些工具,使得你的 pandas 处理过程变得灵活动态。
当我们拿到一份数据时,经常需要不断改变条件对数据进行观测,如下一份某水果的销售情况:
由于需求需要汇总,Excel 中使用透视表是最好的方式:
用 Python 能快速简单做出这种效果吗?
我们将使用 ipywidgets 库,此工具最适合用在 Jupyter Notebook 上,假设你已经安装好 Jupyter Notebook ,打开你的 cmd,执行以下命令:
pip install ipywidgets && jupyter nbextension enable --py widgetsnbextension
直到看到如下信息:
Enabling notebook extension jupyter-js-widgets/extension...
- Validating: ok
现在重启你的 Jupyter Notebook 即可
注意:
本文需要导入的库是这些:
首先使用 pandas 得到透视表的结果,这非常简单:
但是这远远不够,想看不同年份或不同 Top N 的结果,都需要修改代码。
我们稍微加工一下这个过程,定义一个函数:
简单加上一个装饰器即可:
不过,大家都知道 Excel 中还能根据透视表制作透视图,这里我们同样可以制作出动态变化的图表:
接下来,我将会讲解关于小组件的应用系列,他在 Python 数据探索和数据可视化方面,能做出很多有趣的事情,敬请关注!