У меня есть DataFrame с 2 столбцами: один из ID
и один из hits
этого идентификатора. Я хочу сгруппировать эти данные в группы по ID
s, чья сумма hits
максимально приближена к 10000.
Более простой типовой проблемой является наличие DataFrame со столбцом coin
(со значениями [penny, nickle, dime, quarter]
и столбцом cents
, показывающими общее значение, которое эти монеты имеют в моем кармане (а не количество этой монеты: 1 никель означает 5 cents
). Я хочу сгруппировать монеты в значения, максимально приближенные к 1 доллару США (100 центов), но не переходя. Кроме того, в этой задаче мы должны использовать все центы данного монета в нашей группировке (ie Я не могу просто взять 25 копеек, чтобы сложить четверть на 75 центов, чтобы получить идеальный доллар). Итак, учитывая этот DataFrame:
coin cents
0 penny 32
1 nickle 50
2 dime 80
3 quarter 75
... группировка, которую я ищу: 0 [пенни, никель] 1 [десять центов] 2 [квартал]
Эта группировка - единственный способ суммировать значения, близкие к 1 доллару, не переходя.
Есть ли способ достичь этой группировки, используя только функции pandas или numpy? Или я должен выполнить итерацию по фрейму данных и создать свою группу, используя код Python?