взвешенная категориальная переменная в пандах - PullRequest
0 голосов
/ 23 мая 2019

У меня есть набор данных, и я хочу вычислить взвешенную сводную статистику для категориальной переменной.(Аналогично этому вопросу, но с категориальными данными, например, yes / no / maybe).

Пример набора данных:

import pandas as pd
import numpy as np
np.random.seed(43)

## prep mock data
N = 100
country = np.random.choice(['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff'], N)
response = np.random.choice(['yes','no','maybe','do not know'], N)
weight = np.random.randint(low = 5, high = 40, size = N)

df = pd.DataFrame({'country': country, 'response': response, 'weight': weight})

Iтеперь хотелось бы получить нормализованные значения для ответов, скорректированные по столбцу weight и сгруппированные по столбцу country.

невзвешенный способ сделать это -

new_df = df['response'].groupby(df['country']).value_counts(normalize = True).unstack(fill_value = 0)

Я знаю, что должен «просто» использовать «счетчики взвешенных значений», но, похоже, не могу его найти.Я уверен, что это прямо здесь - кто-то может указать мне правильное направление?Спасибо за тонну.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...