我有一个数据框,其中包含有关贷款组合中违约的信息以及发生时的起始时间。每个“观察”是一对代表时间t(以天为单位)和贷款违约金额:
df['time_to_default'] # Time from origination to default
df['default_amnt'] # The loan amount defaulted
我想创建一个系列,表示任何给定时间t的累计默认值。 (假设time_to_default可被t整除)。我无法弄清楚如何创建一个新的dataframe元素,将初始值赋值为0,然后遍历该系列....
答案 0 :(得分:1)
听起来你需要DestinationTable
与groupby
一起使用,因为你想要一个总计:
cumsum
然后,您需要重新索引这个新系列,以填补任何遗失的日子:
cum_defaults = df.groupby('time_to_default').default_amnt.sum().cumsum()
使用一些示例数据:
cum_defaults = cum_defaults.reindex(index=range(min(cum_defaults.index),
max(cum_defaults.index) + 1),
method='ffill')