试想一个熊猫数据帧像这样熊猫累计条件的总和
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