import pandas
import seaborn
# считываем данные
data = pandas.read_csv('support_data_ds.csv')
# для каждой пары интервал-оценка считаем количество выданных промокодов
sum_promo = data.groupby(['interval', 'score'])['promo'].sum()
# для каждой пары интервал-оценка считаем количество записей
count_promo = data.groupby(['interval', 'score'])['promo'].count()
# формируем список интервалов
intervals = ['До внедрения роботов', 'После внедрения роботов']
scores = sorted(data['score'].unique())# соберите все уникальные оценки из столбца score
promo_chance = sum_promo/count_promo# разделите количество промокодов на количество записей
seaborn.heatmap(promo_chance.unstack('interval'),
xticklabels=interval,
yticklabels=score,
annot=True,
cmap='RdYlGn') # постройте тепловую карту для среднего количества промокодов