我已经建立了一种财务预测模型。这是非常漫长的,我不确定我会用它来做什么样的功能。基本上我需要根据前一年计算本年度的预计支出,然后重新列出清单的优先顺序,以便在上一财年购买的东西降到最低。我试图计算30年。我知道这可以通过一个循环来完成,但是,可用于支出的预算每年都会发生变化。对于熊猫数据框可以调整的迭代函数?
这里是我试图达到的数据帧的例子:
Budget_Y1 = 400.00
Budget_Y2 = 300.00
DF1
Part RankY1 CostY1 SpendY1 RankY2 CostY2 SpendY2
Transmission 1 400 400 4 0 0
Tires 2 200 0 1 200 200
Windshield 3 100 0 2 100 100
Wipers 4 20 0 3 20 0
我的数据最终要复杂得多此,涉及数百万行。
现在我计算每年单独基于上一年,以便我可以轻松地更改每年可用预算,以运行不同的资金情况。
我的问题是有一个函数(或函数的类型),可以计算每年基于上一年与每年不同的预算,所以我不需要手代码的所有计算?
我在寻找一个发电机做这样的事情或其他一些功能?基本上它会类似于amoritzation计算器的种类。
现在我用这个代码,一遍又年过三十出来让每年的成本,因为预算每年是不同的:
df1.loc[(df1['RankY2']<4), 'CostY2'] = df1['CostY1']
df1['Spend_Y2']= np.where((df1.Cost_Y2.cumsum(
<=budget_Y2), df1.Cost_Y2 ,0)
...Repeat some other calculations...
...do new priority calculation...
df1 = df1.sort_values('RankY3', ascending = False)
编辑的一个更明显的例子。
每年的数据结构是什么? – GiantsLoveDeathMetal
一个简单的数值例子将有助于带来更好的可重现代码 – chrisckwong821
@GiantsLoveDeathMetal我编辑了这个例子,它是一个熊猫数据框。这有帮助吗? – EEPBAH