Группировка панд - количество строк в группе - PullRequest
0 голосов
/ 14 ноября 2018

Это первый раз, когда я задаю вопрос здесь, поэтому дайте мне знать, если нужна дополнительная информация -

В настоящее время у меня есть панда df, которая сгруппирована по трем столбцам :

# Group by employee, end of work date and calendar date sum the quantity of the hours on each calendar date
empHoursSum = df.groupby(['Employee ID', 'Week Ending', 'Calendar Date'])['Quantity'].sum().to_frame('Quantity')

Это дает мне Employee ID с сегментами для Week Ending (дата окончания календарной рабочей недели) и Calendar Date с суммированием связанных с датой часов. enter image description here

То, что я хочу увидеть, - это счетчик для каждого Calendar Date в группе Week Ending.

Например, если кто-то работал 6 дней в течение рабочей недели, было бы 6 строк дат. Я хотел бы видеть столбец с 1 на первой записи и 2 на второй записи, и так далее.

1 Ответ

0 голосов
/ 14 ноября 2018

Вы можете сгруппировать по 0-му и 1-му уровням (двум «внешним» уровням) empHoursSum, получить кумулятивные значения с помощью .cumcount() и присвоить эти значения новому столбцу, добавив 1, чтобы начать отсчеты с 1 вместо 0:

empHoursSum['running_count'] = empHoursSum.groupby(level=[0, 1]).cumcount() + 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...