Python - Визуализация данных в диаграмме

У меня есть данные с двумя столбцами: продукт и категория. Ниже приведен пример данных:

import pandas as pd
df = pd.DataFrame({'Product': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   'Category': ['Text', 'Text2', 'Text3', 'Text4', 'Text', 'Text2', 'Text3', 'Text4'],
                   'Value': [80, 10, 5, 5, 5, 3, 2, 0]}) 

Я хотел бы визуализировать эти данные на диаграмме:

desired_viz

Здесь "Итого" - это общее значение всего фрейма данных, поля "А" и "В" - это общее значение для каждого продукта, а затем значения для каждого продукта и категории находятся в крайнем правом поле.

Я не очень знаком с пакетами viz, доступными в Python. Существует ли пакет, который делает эти типы визуализаций.

1 ответ

Решение

Вы можете использовать graphviz, вы должны извлечь свои собственные блоки / узлы, хотя!

Пример:

from graphviz import Graph

g = Graph()
g.attr(rankdir='RL')

T = df['Value'].sum()
g.node('1', 'Total = '+str(T), shape='square')

A = df.loc[df.Product == 'A', ['Category', 'Value']].to_string(index=False)
g.node('2', A, shape='square')

B = df.loc[df.Product == 'B', ['Category', 'Value']].to_string(index=False)
g.node('3', B, shape='square')

g.edges(['21', '31'])

g.render(view=True)

Результат:

Другие вопросы по тегам