Прокатная группа Pandas по сумме

У меня есть панды dataframe:

df = pd.DataFrame(data={'Name':['John', 'John', 'John', 'Jill', 'Jill', 'Jill', 'Jill'],'Score':[1,1, 1,2,2, 2, 2]})

df
Out[168]: 
   Name  Score
0  John      1
1  John      1
2  John      1
3  Jill      2
4  Jill      2
5  Jill      2
6  Jill      2

Я хочу добавить столбец, содержащий скользящую сумму двух предыдущих значений в столбце (здесь столбец score), например:

Out[171]: 
   Name  Score  Total
0  John      1      1
1  John      1      2
2  John      1      2
3  Jill      2      2
4  Jill      2      4
5  Jill      2      4
6  Jill      2      4

Я пробовал groupby и rolling, которые работают, но порядок строк отличается от исходного dataframe. Обратите внимание, что Jill теперь стоит первым, вероятно, из-за некоторой сортировки по алфавиту:


df.groupby('Name')['Score'].rolling(2, min_periods=1).sum()
Out[173]: 
Name   
Jill  3    2.0
      4    4.0
      5    4.0
      6    4.0
John  0    1.0
      1    2.0
      2    2.0
Name: Score, dtype: float64

Как это работает и как я могу достичь цели, не выполняя после этого левое соединение/слияние?


person gmarais    schedule 20.04.2020    source источник
comment
df.groupby('Name',sort=False)['Score'].rolling(2, min_periods=1).sum() ? скажите groupby не сортировать   -  person anky    schedule 20.04.2020
comment
@anky + .reset_index(name='Total') в конце   -  person ansev    schedule 20.04.2020
comment
@anky, который делает это   -  person gmarais    schedule 20.04.2020