Панды получают медианное / среднее значение предварительно агрегированных данных

Предполагая, что мои данные уже сгруппированы, как я могу рассчитать медианное значение и другую статистику?

Index  Value  Count
0      6      2
1      2      3
2      9      8

В приведенном выше примере я хочу получить медианное / среднее значение столбца и т. Д. С учетом столбца «Количество».

Фактические значения: 2,2,2,6,6,9,9,9,9,9,9,9,9, поэтому моя медиана будет 9.


person Martin Tomczak    schedule 16.05.2020    source источник
comment
Вы можете использовать df.median() и df.mean() в агрегированном фрейме данных.   -  person Mayank Porwal    schedule 17.05.2020


Ответы (1)


IIUC, вы можете сделать для среднего

print ((df['Value']*df['Count']).sum()/df['Count'].sum())
6.923076923076923

а для медианы используйте np.repeat < / а>

print (np.repeat(df['Value'], df['Count']).median())
9.0
person Ben.T    schedule 16.05.2020