Создание диаграммы 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

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.
Другие вопросы по тегам