cats = np.random.choice(cats, 100, p=[0.3, 0.1, 0.4, 0.2])
res = np.random.choice(np.arange(1, 7), 100, p=[0.2, 0.1, 0.08, 0.16, 0.26,
    0.2])
df = pd.DataFrame({'Category': cats, 'Result': res})
df2 = df.groupby(['Category', 'Result']).size().reset_index(name='Count')
df3 = pd.pivot_table(df2, values='Count', columns=['Result'], index=
    'Category', aggfunc=np.sum, fill_value=0)
df4 = pd.pivot_table(df2, values='Count', columns=['Category'], index=
    'Result', aggfunc=np.sum, fill_value=0)
fig, ax = plt.subplots(1, 2, figsize=(10, 4))
df3.plot(kind='bar', ax=ax[0])
df4.plot(kind='bar', ax=ax[1])
plt.show()
Как отображать/управлять 2 столбцами категориальных данных с помощью pandas/matplotlib?