Я пытаюсь выполнить расчет в пределах pandas
агрегатов. Я хочу, чтобы вычисления включались в агрегаты. Код, на котором я пытаюсь, приведен ниже. Я также использую пакет pandas для df.Расчеты в составе pandas
data = data.groupby(['type', 'name']).agg({'values': [np.min, np.max, 100 * sum([('values' > 3200)]/[np.size])]})
Формула Я пытаюсь вычислить ниже:
100 * sum((values > 3200)/(np.size))
Это где нп является размер агрегации (числа агрегированных ограничены числами> 3200). Как выполнить вычисления, подобные этому в рамках агрегатов, будет очень полезной.
Пример входных данных (фактический набор данных намного больше). Значения повторения связаны с агрегацией.
type, name, values
apple, blue, 2500
orange, green, 2800
peach, black, 3300
lemon, white, 3500
Желаемая пример вывода (цифры не правильно из-за того, что я до сих пор не в состоянии выполнить расчет):
type, name, values, np.min, np.max, calcuation
apple, blue, 2500, 1200, 40000, 2300
orange, green, 2800, 1200, 5000, 2500
Можете ли вы дать больше описания на вашем прецеденте? Например, входные данные и желаемый результат, я думаю, что упоминание об «агрегации» может быть путаным в этом случае. – dave
небольшой рабочий фрагмент был бы полезен, чтобы знать, что вы пытаетесь сделать. – user1269942
данные обновляются. Остальная часть кода - просто простое извлечение из базы данных и помещается в pandas df – user2524994