Панды: как группировать по символу и брать среднее значение каждые n строк

Предположим, у меня есть следующий фрейм данных df :Меня интересуют средние значения столбца отношения (это происходит из предыдущего фрейма данных, который имел два дополнительных столбца value_a value_b и ratio = value_a /value_b, более или менее).Я хотел бы сделать следующее:взять средние значения по символу_а (или _b на самом деле то же самое) каждые n элементов.Допустим, п = 3.Обычно я бы сделал что-то вроде:Тем не менее, я хотел бы получать промежуточные средства каждые 3 дня (фактический промежуток времени, очевидно, намного больше, и мне понадобится каждые 5).Сначала я думал, что у меня всегда будет одинаковое количество символов, делимых на n , поэтому я попробовал что-то вроде:Это было вполне работоспособно, но сильно полагалось на предположение делимости на n .К сожалению, это не только предположение, которое я хотел бы отбросить, но я также заметил, что не все символы появляются n раз: обратите внимание, например, что symbol_a «BBBB» появляется только четыре раза (дня).Это, конечно, делает вышеприведенную попытку совершенно ненадежной, поскольку она будет смешивать значения соотношений различных символов.Напомним, что мне нужно что-то, что позволит мне иметь среднее значение столбца отношения каждые n элементов, и если число символов не делится на n, он получает среднее значение каждые n и, в конце концов, среднее значение напоминания (еслиnumber_of_symbols
4 голоса | спросил Tommy 23 Mayam17 2017, 05:59:38

2 ответа


0
Изменить, добавив столбец среднего числа за n днейВыход:Давайте использовать:g = df.groupby ('symbol_a') ['ratio']. transform (lambda x: x.astype (bool) .cumsum (). add (-1))Давайте вместо этого воспользуемся подходом piRSquare ---- +: = 2 =: + ---- .Выход:
ответил Scott Boston 23 Mayam17 2017, 06:04:26
0
Создать новый столбец для группировки с помощью ---- +: = 0 =: + ----
ответил piRSquared 23 Mayam17 2017, 06:40:47

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132