I am new to Python, I have extracted SQL data put it in data frame. While calling below function I have created, if the choice length is 4 it gives result as expected. If I give less/more list values while calling function I am getting "list index out of range" error. I believe I can use while statement, Can some one help ??
overdue_days=(loanapp_df[['credit_day_overdue','name_income_type']]).values choice=(['Working','State servant','Commercial associate','Pensioner'])
def overdues(a): overdue1=paid1=overdue2=paid2=overdue3=paid3=overdue4=paid4=overdue5=paid5=0 for dues in a: if dues[1]==choice[0] and dues[0]> 0: overdue1=overdue1+1 if dues[1]==choice[0] and dues[0]==0: paid1=paid1+1 if dues[1]==choice[1] and dues[0]> 0: overdue2=overdue2+1 if dues[1]==choice[1] and dues[0]==0: paid2=paid2+1 if dues[1]==choice[2] and dues[0]> 0: overdue3=overdue3+1 if dues[1]==choice[2] and dues[0]==0: paid3=paid3+1 if dues[1]==choice[3] and dues[0]> 0: overdue4=overdue4+1 if dues[1]==choice[3] and dues[0]==0: paid4=paid4+1
print("\n********Compare paid applicants vs overdue applicants*******************************")
print("\n The number of "+choice[0]+" applicants for overdues are : {} and paid are {}\n ".format(overdue1,paid1)+
"The number of "+choice[1]+" applicants for overdues are : {} and paid are {}\n ".format(overdue2,paid2)+
"The number of "+choice[2]+" applicants for overdues are : {} and paid are {}\n ".format(overdue3,paid3)+
"The number of "+choice[3]+" applicants for overdues are : {} and paid are {}\n ".format(overdue4,paid4))
overdues(overdue_days)
overdue_days=(loanapp_df[['credit_day_overdue','name_family_status']]).values choice=(['Single / not married','Married','Civil marriage','Widow']) overdues(overdue_days)
overdue_days=(loanapp_df[['credit_day_overdue','name_contract_type']]).values choice=(['Cash loans','Revolving loans']) overdues(overdue_days)
Aucun commentaire:
Enregistrer un commentaire