Я пытаюсь использовать groupby
в python, чтобы разделить INPUT_DF
на основе двух столбцов ID
и DATE(MM/DD/YY)
, а затем выполнить математическую операцию над сгруппированными строками.
Математическая функция для сгруппированных строк: EXPOSURE * VALUE
.Для сгруппированных ID
и DATE
может быть несколько экспозиций, в этом случае это должно быть SUM(EXPOSURE * VALUE)
INPUT_DF:
ID PRODUCT EXPOSURE DATE(MM/DD/YY) VALUE
STA A 0.5 1/31/03 3
STA A 0.5 8/29/03 4
MP B 0.6 8/29/03 5
MP B 0.5 5/31/05 6
ZT B 0.3 5/31/05 7
ZT B 0.5 5/31/05 8
STA A 0.6 1/31/03 1
STA A 0.7 8/29/03 2
MP B 0.8 8/29/03 3
MP B 0.2 5/31/05 4
ZT B 0.5 5/31/05 5
ZT B 0.2 6/31/05 6
OUTPUT_DF:
ID DATE FINAL_VALUE
STA 1/31/03 2.1
STA 8/29/03 3.4
MP 8/29/03 5.4
MP 5/31/05 3.8
ZT 5/31/05 8.6
ZT 6/31/05 1.2
КОД:
Я пытался сделать следующее
OUTPUT_DF = INPUT_DF[['ID','DATE(MM/DD/YY)']].groupby('ID', 'DATE(MM/DD/YY)')['EXPOSURE']*['VALUE'].sum()
Но это дает мне ошибку.Может ли кто-нибудь помочь мне в решении этого.