GoC*_*rry 0 python plot data-visualization pandas jupyter-notebook
首先让我描述一下我试图用 Python 重现的 Excel 数据透视图。
以下是生成示例数据集的代码:
# The code should work in Python 3.7 and pandas 0.24 or above
import pandas as pd
years = [i for i in range(2015,2021)]
countries = ['US', 'CA', 'JP', 'MX', 'IT']
months = [i for i in range(1,13)]
idx = pd.MultiIndex.from_product([years, countries, months], names=['year', 'country', 'month'])
df = pd.DataFrame(np.random.randn(len(idx), 1),columns=['val'], index=idx).sort_index()
Run Code Online (Sandbox Code Playgroud)
我可以将df.to_clipboard()其粘贴到 Excel 中,如下所示:
然后我可以根据数据插入数据透视图,并以某种方式配置它,以便我可以按年份和国家/地区查看每月线图。该数据透视图是“交互式”的,因为通过“年份”和“国家/地区”下拉控件,我可以以任何我想要的方式方便地过滤数据,例如“显示 JP 的所有年份”或“显示 2020 年的所有国家/地区” ”。
我的问题是:
有没有简单的方法可以在 Python 中创建这样的交互式绘图?我使用 Jupyter Notebook 来处理数据并做了很多这样的探索性研究。我不喜欢每次想要可视化数据时都必须将数据复制到 Excel 中。在Python中,我可以做一些愚蠢的事情,比如df.loc[(2015, 'US'),:].plot()我想将它们过滤到特定的国家或年份,但它不像具有GUI下拉控件的数据透视图那么方便,并且与我的同事分享它并不容易让他们玩一下。
预先感谢您的帮助!
这些选项并不能完全满足您的要求,但它是一个开始:
您可能想看看jupyter_pivottablejs :它通过将数据透视表嵌入到笔记本中(至少在 jupyterlab 中,不确定经典笔记本),提供了一个简单但相当完整的交互式界面,相当于 excel 的数据透视表。
请注意,它不允许以交互方式预过滤数据。为此,请查看qgrid,它允许交互式浏览数据帧和过滤。

| 归档时间: |
|
| 查看次数: |
4495 次 |
| 最近记录: |