如何使用Pandas高效实现Vintage静态池账龄分析
使用Pandas内置的pivot_table方法即可一步生成你需要的标准Vintage分析表,无需手动创建空表逐组赋值,代码如下:
# 筛选掉Default Month为0的记录后生成透视表,与你给出的目标输出规则匹配 vintage_table = default[default['Default Month'] > 0].pivot_table( index = 'Origination', columns = 'Default Month', values = 'Default Amount', aggfunc = 'sum', fill_value = 0 ).reset_index().rename(columns = {'Origination': 'Default'})
参数说明:
index:指定行索引为放款季度字段Originationcolumns:指定列名为账龄月份字段Default Monthvalues:指定要聚合计算的违约金额字段Default Amountaggfunc='sum':指定聚合规则为求和,匹配分组汇总的需求fill_value=0:直接将无匹配分组的空值填充为0,无需后续单独处理
你也可以使用分组后拆堆的写法实现相同效果:
vintage_table = default[default['Default Month'] > 0]\ .groupby(['Origination', 'Default Month'])['Default Amount']\ .sum()\ .unstack(fill_value=0)\ .reset_index()\ .rename(columns={'Origination': 'Default'})
如果需要保留Default Month为0的列,删除代码中的default['Default Month'] > 0筛选条件即可。
内容的提问来源于stack exchange,提问作者Benloper
相关产品推荐
相关产品推荐

