試想一個熊貓數據幀像這樣熊貓累計條件的總和
date id initial_value part_value
2016-01-21 1 100 10
2016-05-18 1 100 20
2016-03-15 2 150 75
2016-07-28 2 150 50
2016-08-30 2 150 25
2015-07-21 3 75 75
與以下
df = pd.DataFrame({
'id': (1, 1, 2, 2, 2, 3),
'date': tuple(pd.to_datetime(date) for date in
('2016-01-21', '2016-05-18', '2016-03-15', '2016-07-28', '2016-08-30', '2015-07-21')),
'initial_value': (100, 100, 150, 150, 150, 75),
'part_value': (10, 20, 75, 50, 25, 75)}).sort_values(['id', 'date'])
我希望由initial_value
減去累計總和定義的剩餘價值增加一列生成的part_value
條件的ID和日期之前。因此,我希望我的目標是
date id initial_value part_value goal
2016-01-21 1 100 10 100
2016-05-18 1 100 20 90
2016-03-15 2 150 75 150
2016-07-28 2 150 50 75
2016-08-30 2 150 25 25
2015-07-21 3 75 75 75
我想一個解決方案可以通過從here和here的解決方案相結合進行,但我不完全弄明白。
你能解釋更多'日期之前嗎?如果日期沒有排序,輸出是不同的? – jezrael
你理解正確。排序問題 –
好的,首先需要排序值?或值被排序? – jezrael