Расчет NPS с использованием панд - PullRequest
0 голосов
/ 22 ноября 2018

Я очень, очень плохо знаком с Python и играю с тем, как рассчитать счет NPS.

Расчет:

(количество баллов 9-10/ общее количество баллов 0-10) - (количество баллов 0-6 / общее количество баллов 0-10) для каждого совета.

Фрейм данных, который я использую:

enter image description here

NPS необходимо будет рассчитывать для каждого совета отдельно.Это мой первый пост здесь, надеюсь, это имеет смысл.Если бы кто-то мог указать мне правильное направление, это было бы очень ценно.

Приветствия, Бен.

1 Ответ

0 голосов
/ 22 ноября 2018

Предполагая, что данные в data.csv:

import pandas as pd
from collections import defaultdict

df = pd.read_csv('data.csv')

high_nps = defaultdict(lambda: 0)
low_nps = defaultdict(lambda: 0)

high_nps.update(dict(df[df['NPS'] >= 9].groupby('CouncilName').count().reset_index()[['CouncilName', 'NPS']].values))
low_nps.update(dict(df[df['NPS'] <= 6].groupby('CouncilName').count().reset_index()[['CouncilName', 'NPS']].values))
total_nps = dict(df.groupby('CouncilName').count().reset_index()[['CouncilName', 'NPS']].values)

nps_score = {council: (high_nps[council] - low_nps[council]) / float(total_nps[council])  for council in total_nps}

print(nps_score)

Отпечатки:

{'Council A': 0.0, 'Council B': -1.0, 'Council C': -1.0}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...