読者です 読者をやめる 読者になる 読者になる

<Python, pandas, highcharts> pandas-highcharts をちょっと試す。

pandas-highchartsをちょっと試してみた。

pypi.python.org

このページの使い方usageどおりだと、いまいちわかんなかったので、
いつものこちらでお世話になりつつ、、

sinhrks.hatenablog.com

で、Jupyter notebookさんを起動して、

In [1]: import pandas as pd
        from pandas_highcharts.core import serialize
        from pandas.compat import StringIO
        dat = """ts;A;B;C
        2015-01-01 00:00:00;27451873;29956800;113
        2015-01-01 01:00:00;20259882;17906600;76
        2015-01-01 02:00:00;11592256;12311600;48
        2015-01-01 03:00:00;11795562;11750100;50
        2015-01-01 04:00:00;9396718;10203900;43
        2015-01-01 05:00:00;14902826;14341100;53"""
        df = pd.read_csv(StringIO(dat), sep=';', index_col='ts', parse_dates='ts')

In [2]: data = serialize(df, render_to='my-chart', output_type='json')

In [3]: data
Out[3]: '{"yAxis":[{}],"chart":{"renderTo":"my-chart"},"xAxis":{"title": {"text":"ts"},"type":"datetime"},"series":[{"yAxis":0,"name":"A","data":[[1420070400000,27451873],[1420074000000,20259882],[1420077600000,11592256],[1420081200000,11795562],[1420084800000,9396718],[1420088400000,14902826]]},{"yAxis":0,"name":"B","data":[[1420070400000,29956800],[1420074000000,17906600],[1420077600000,12311600],[1420081200000,11750100],[1420084800000,10203900],[1420088400000,14341100]]},{"yAxis":0,"name":"C","data":[[1420070400000,113],[1420074000000,76],[1420077600000,48],[1420081200000,50],[1420084800000,43],[1420088400000,53]]}],"legend":{"enabled":true}}'

In [4]: template = """
        <script src="http://code.highcharts.com/highcharts.js"></script>
        <script src="http://code.highcharts.com/modules/exporting.js"></script>
        <div id="{chart}"></div>
        <script type="text/javascript">
            $("#{chart}").highcharts({data});
        </script>
       """
In [5]: from IPython.display import HTML
        HTML(template.format(chart='my_chart', data=data))

f:id:nekoyukimmm:20160113150651p:plain

できた。
いいねー。