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]})
Я хотел бы визуализировать эти данные на диаграмме:
Здесь "Итого" - это общее значение всего фрейма данных, поля "А" и "В" - это общее значение для каждого продукта, а затем значения для каждого продукта и категории находятся в крайнем правом поле.
Я не очень знаком с пакетами 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)
Результат: