Создание диаграммы pygal.Bar из числа значений серии Pandas?
Я пытаюсь построить гистограмму Pygal из серии DataFrame панд, на которую .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
В идеале результат выглядит как сюжет в решении этого вопроса. Можно ли это сделать?
Заранее спасибо!
1 ответ
Решение
Я думаю, что это то, к чему вы стремились:
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.