1

我正在尝试从应用的 pandas DataFrame 系列构建一个 pygal 条形图,.value_counts()例如,无需按照文档此问题中的建议将系列拆分为多个列并单独添加这些列。

import pandas as pd
import pygal

df = pd.DataFrame.from_dict({'categorical': ['foo','foo','bar','foo','bar','too']})

series = df.categorical.value_counts()
series
> foo    3
  bar    2
  too    1

理想情况下,结果看起来像这个问题的解决方案中的情节。这可以做到吗?

提前致谢!

4

1 回答 1

2

我认为这就是您的目标:

从 Pandas 系列创建的 Pygal 条形图

Pygal 不能直接绘制 Pandas 对象,但您可以利用Series返回的对象的属性value_counts来设置图表的 x 标签并将计数添加为一系列数据。

上面的图表是使用以下代码创建的:

import pandas as pd
import pygal

df = pd.DataFrame.from_dict({'categorical': ['foo','foo','bar','foo','bar','too']})
series = df.categorical.value_counts()

chart = pygal.Bar(width=400, height=300)
chart.x_labels = series.index
chart.add("Count", series.values)

chart.render_to_png("bar.png")  # Or any other output option.
于 2018-06-19T20:10:09.300 回答