我正在尝试从应用.value_counts()
的pandas DataFrame系列构建pygal条形图,例如无需按照documentation和this question中的建议将系列拆分为多个列并单独添加这些列。
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
理想情况下,结果看起来像this question解决方案中的情节。可以这样做吗?
提前致谢!
答案 0 :(得分:2)
我认为这是您的目标:
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.