import pandas as pd
data=pd.read_csv(r"d:\mypythontest\loan.csv",encoding="gbk")
print(data.info())
data=data.fillna({"月收入":data["月收入"].mean(),"家屬數量":data["家屬數量"].mean()})
print(data.info())
#收入越高的人壞賬率越低嗎?
cut_bins=[0,5000,10000,15000,20000,100000] #區間劃分
income_cut=pd.cut(data["月收入"],cut_bins) #將月收入按照區間切分
all_income_user=data["好壞客戶"].groupby(income_cut).count() #全部客戶數
bad_income_user=data["好壞客戶"].groupby(income_cut).sum() #存在壞賬的客戶數
bad_rate=bad_income_user/all_income_user #壞賬率
print(bad_rate)
bad_rate.plot.bar() #直方圖
#年齡和壞賬率的關係
cut_bins=[0,18,36,45,60,120]
age_cut=pd.cut(data["年齡"],cut_bins)
all_age_user=data["好壞客戶"].groupby(age_cut).count()
bad_age_user=data["好壞客戶"].groupby(age_cut).sum()
bad_rate=bad_age_user/all_age_user #壞賬率
print(bad_rate)
bad_rate.plot.bar() #直方圖
#家庭人口數和壞賬率的關係
#雖然人口數量也是連續值,但是因為數值不是很大,所以就當作離散值來處理,不進行區間切分
all_man_user=data.groupby("家屬數量")["好壞客戶"].count()
bad_man_user=data.groupby("家屬數量")["好壞客戶"].sum()
bad_rate=bad_man_user/all_man_user #壞賬率
print(bad_rate)
bad_rate.plot() #直方圖