Не моу построить сравнительную (двойную) гистограмму из таблицы Pandas
Вот таблица из датафрейма:
| Баллы_groups | Кол-во Контракт | Кол-во Ушедшие | |
|---|---|---|---|
| 1 | 350+ | 108 | 275 |
| 2 | 300-350 | 725 | 1718 |
| 3 | 250-300 | 885 | 3170 |
| 4 | 200-250 | 2121 | 10890 |
| 5 | 150-200 | 3120 | 7925 |
| 6 | 100-150 | 653 | 1318 |
| 7 | 50-100 | 101 | 247 |
| 8 | 0-50 | 45 | 137 |
хотелось бы из неё получить подобное:

но что бы столбцы соответствовали оси 'x', которая строилась из колонки 'Баллы_groups' примерно так
Перепробовал уже кучу вариантов - но получить не смог.
Спасибо.
Ответы (2 шт):
Автор решения: Алексей Р
→ Ссылка
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({'Баллы_groups': ['350+', '300-350', '250-300', '200-250', '150-200', '100-150', '50-100', '0-50'],
'Кол-во Контракт': [108, 725, 885, 2121, 3120, 653, 101, 45],
'Кол-во Ушедшие': [275, 1718, 3170, 10890, 7925, 1318, 247, 137]})
df.plot(x='Баллы_groups', y=['Кол-во Контракт', 'Кол-во Ушедшие'], kind='bar')
plt.show()
Автор решения: CrazyElf
→ Ссылка
Через seaborn я только через преобразование датасета сумел, наверняка можно как-то проще. Спасибо Алексей Р за подготовку данных, и вообще отличный ответ.
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.DataFrame({'Баллы_groups': ['350+', '300-350', '250-300', '200-250', '150-200', '100-150', '50-100', '0-50'],
'Кол-во Контракт': [108, 725, 885, 2121, 3120, 653, 101, 45],
'Кол-во Ушедшие': [275, 1718, 3170, 10890, 7925, 1318, 247, 137]})
df1 = df.melt(id_vars=['Баллы_groups'], value_vars=['Кол-во Контракт', 'Кол-во Ушедшие'])
sns.barplot(x='Баллы_groups', y='value', data=df1, hue='variable')
plt.xticks(rotation=45)


