import pandas as pd
import numpy as np
dic={
'delq1':[0,0,1],
'delq2':[1,1,2],
'delq3':[2,0,3],
'delq4':[0,1,4],
'delq5':[1,2,5],
'delq6':[1,3,0],
'delq7':[1,0,1],
'delq8':[0,0,2],
'delq9':[0,1,3],
'delq10':[0,2,0]}
df1=pd.DataFrame(data=dic,index=['cust1','cust2','cust3'])
上图是一个记录客户近10期的逾期记录的数据框,基于逾期行为数据进行变量的衍生。比如cust1客户,最近1期状态为M0,最近2期状态为M1,还款历史字段应为“0001110210”。
1.计算近p期总逾期次数
方法一:
def month_count(df, p):
auto_value=np.where(df>0,1,0).sum(axis=1)
return auto_value
auto_value=month_count(df1,10)
方法二:
def delqcnt(x,term):
result=0
j=term+1
for i in range(1,j):
result=result+(1 if (x['delq'+str(i)]