У меня есть pandas фрейм данных, подобный следующему:
# Date Name RG
#-----------------------------------
# 1: 2013-04-25 NameA 1
# 2: 2013-04-25 NameB 3
# 3: 2013-04-25 NameC 1
# 4: 2013-04-25 NameD 2
# 5: 2013-04-25 NameE 1
# ---
# 13379: 2020-02-13 NameA 3
# 13380: 2020-02-13 NameB 1
# 13381: 2020-02-13 NameC 4
# 13382: 2020-02-13 NameD 1
# 13383: 2020-02-13 NameE 1
Я хочу повернуть таблицу и использовать столбец Имя в качестве индекса. Каждый Дата теперь отображается как отдельный столбец, так что для каждого Имя индекс RG суммируется в течение последних шести месяцев, например, значение RG для NameA в 2020-02-06 получается путем добавления всех значений RG для NameA между 2019-08-07 и 2020-02-06. Например:
# Name 2013-04-25 2013-04-31 2013-05-07 --- 2020-02-06 2020-02-13
#--------------------------------------------------------------------------------------------------
# 1: NameA 1 2 3 7 23
# 2: NameB 3 3 6 15 21
# 3: NameC 1 4 5 16 24
# 4: NameD 2 2 7 19 40
# 5: NameE 1 4 9 15 21
# ---
# 276: NameDE 3 4 6 15 22
# 277: NameDF 1 4 6 17 22
# 278: NameDG 4 8 9 11 23
# 279: NameDH 2 3 5 19 24
# 280: NameDI 1 4 6 18 20
Я мог бы повернуть таблицу с помощью следующего:
df.pivot_table(
values='RG', index='Name', columns='Date',
fill_value=0, aggfunc='sum')
Однако значения в каждом столбце должны быть совокупной суммой всех значений за предыдущие шесть месяцев. для того же Имя . Как я могу изменить aggfun c для достижения sh такой цели?