@Eva2022

Задача в Python, как решить?

Задание:

Постройте хитмэп с — средним пользовательским оценкам в каждом из сегментов до и после внедрения роботов.

Средние оценки сохраняйте в mean_scores методом append(). Обратите внимание, что каждую пару значений «до» и «после» для сегментов перед добавлением в mean_scores следует также хранить в списке, чтобы в конце получился список списков, как в примере.

Мое решение:

import pandas
import seaborn

data = pandas.read_csv('support_data.csv')

# названия сегментов и интервалов
segments_old = ['Segment 0', 'Segment 1', 'Segment 2']
segments_new = ['Потенциальные клиенты', 'Обычные клиенты', 'VIP-клиенты']
intervals = ['До внедрения роботов', 'После внедрения роботов']

intervals_column = list(data['interval'])
segments_column = list(data['segment'])
score_column = list(data['score'])

# здесь будут средние оценки
mean_scores = []

for segment in segments_old:
    score_before =0
    counter_before = 0
    score_after =0
    counter_after = 0
    for index in range(len(data)):
        if intervals_column[index] == 'До внедрения роботов':
            score_before =+ score_column[index] 
            counter_before =+ 1 
        if intervals_column[index] == 'После внедрения роботов':
            score_after =+ score_column[index] 
            counter_after =+ 1    
            segment_scores = [score_before / counter_before, score_after / counter_after]
            mean_scores.append(segment_scores)
seaborn.heatmap(mean_sсores, xticklabels=интервалы, yticklabels=segments_new, ann=True, cmap='RdYlGn')

Выдает ошибку:

NameError                                 Traceback (most recent call last)
Input In [1], in <cell line: 33>()
     31             segment_scores [38;5;241m=[39m [score_before [38;5;241m/[39m counter_before, score_after [38;5;241m/[39m counter_after]
     32             mean_scores[38;5;241m.[39mappend(segment_scores)
---> 33 seaborn[38;5;241m.[39mheatmap([43mmean_sсores[49m, xticklabels[38;5;241m=[39mинтервалы, yticklabels[38;5;241m=[39msegments_new, ann[38;5;241m=[39m[38;5;28;01mTrue[39;00m, cmap[38;5;241m=[39m[38;5;124m'[39m[38;5;124mRdYlGn[39m[38;5;124m'[39m)
NameError: name 'mean_sсores' is not defined

Где ошиблась?
  • Вопрос задан
  • 1519 просмотров
Пригласить эксперта
Ответы на вопрос 1
@aygumov
seaborn.heatmap(mean_scores, xticklabels=интервалы, yticklabels=segments_new, ann=True, cmap='RdYlGn')

Замени на это свою последнею строчку.
А так впредь внимательнее будь и не делай кашу из русских и английских букв, которые друг на друга похожи.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы