У меня проблемы с получением plot.bar для группировки столбцов так, как я их сгруппировал в кадре данных. Кадр данных возвращает сгруппированные данные правильно, однако гистограмма предоставляет отдельную полосу для каждой строки в кадре данных. В идеале все в моем коде ниже должно группировать по 3-6 столбцов для каждого отдела (в отделе X должны быть столбцы, сгруппированные для каждого типа, а затем счетчик true / false в качестве оси Y).
Dataframe:
dname Type purchased
Dept X 0 False 141
True 270
1 False 2020
True 2604
2 False 2023
True 1047
Код:
import psycopg2
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
##connection and query data removed
df = pd.merge(df_departments[["id", "dname"]], df_widgets[["department", "widgetid", "purchased","Type"]], how='inner', left_on='id', right_on='department')
df.set_index(['dname'], inplace=True)
dx=df.groupby(['dname', 'Type','purchased'])['widgetid'].size()
dx.plot.bar(x='dname', y='widgetid', rot=90)
