数据统计流程

数据统计流程
1、

#总的流程
#1、读取数据
df1=pd.read_excel(r'E:\anju\待审核.xlsx')
df2=pd.read_excel(r'E:\anju\待放款.xlsx')
df3=pd.read_excel(r'E:\anju\已放款.xlsx')
df4=pd.read_excel(r'E:\anju\拒贷.xlsx')
df5=pd.read_excel(r'E:\anju\补充资料.xlsx')
res=df1.append([df2,df3,df4,df5],ignore_index=False)
res=res[res["项目地址"].str.contains('^贵州省')]
res
#订单状态
order_status_sq=['已提交 ','已批核','已放款','拒贷','补充资料']
order_status_sh=['已批核','已放款']
order_status_fk=['已放款']
pattern1='^2019-10-15'
pattern2='^2019-10'
#申请审核数据处理
def use_data1(df,order_status,pattern):
    df = df[df['受理日期'].str.contains(pattern)]
    df= df[df["订单状态"].isin(order_status)]
    ll = df[['申请编号', '申请金额', '项目名称']].groupby(['项目名称']).agg({'申请金额': 'sum', '申请编号': 'count'})
    return ll

#累计申请审核数据处理
def use_data11(df,order_status):
    df= df[df["订单状态"].isin(order_status)]
    ll = df[['申请编号', '申请金额', '项目名称']].groupby(['项目名称']).agg({'申请金额': 'sum', '申请编号': 'count'})
    return ll

#放款数据
def use_data2(df,order_status,pattern):
    df = df[df['放款日期'].str.contains(pattern)]
    df= df[df["订单状态"].isin(order_status)]
    ll = df[['申请编号', '申请金额', '项目名称']].groupby(['项目名称']).agg({'申请金额': 'sum', '申请编号': 'count'})
    return ll

#累计放款数据处理
def use_data22(df,order_status):
    df= df[(df["订单状态"].isin(order_status))&(df['放款日期'].notnull())]
    ll = df[['申请编号', '申请金额', '项目名称']].groupby(['项目名称']).agg({'申请金额': 'sum', '申请编号': 'count'})
    return ll
#生成的结果重新构造一个DataFrame
def create_dataframe_1(df):
    df_1=pd.DataFrame()
    index=df.index.tolist()
    df_1["今日申请"]=df['申请编号'].tolist()
    df_1["今日申请金额"]=df['申请金额'].tolist()
    df_1["项目"]=index
    return df_1
def create_dataframe_2(df):
    df_1=pd.DataFrame()
    index=df.index.tolist()
    df_1["今日审批"]=df['申请编号'].tolist()
    df_1["今日审批金额"]=df['申请金额'].tolist()
    df_1["项目"]=index
    return df_1
def create_dataframe_3(df):
    index=df.index.tolist()
    df_1=pd.DataFrame()
    df_1["今日放款"]=df['申请编号'].tolist()
    df_1["今日放款金额"]=df['申请金额'].tolist()
    df_1["项目"]=index
    return df_1
def create_dataframe_11(df):
    df_1=pd.DataFrame()
    index=df.index.tolist()
    df_1["本月申请"]=df['申请编号'].tolist()
    df_1["本月申请金额"]=df['申请金额'].tolist()
    df_1["项目"]=index
    return df_1
def create_dataframe_21(df):
    df_1=pd.DataFrame()
    index=df.index.tolist()
    df_1["本月审批"]=df['申请编号'].tolist()
    df_1["本月审批金额"]=df['申请金额'].tolist()
    df_1["项目"]=index
    return df_1
def create_dataframe_31(df):
    index=df.index.tolist()
    df_1=pd.DataFrame()
    df_1["本月放款"]=df['申请编号'].tolist()
    df_1["本月放款金额"]=df['申请金额'].tolist()
    df_1["项目"]=index
    return df_1
def create_dataframe_12(df):
    df_1=pd.DataFrame()
    index=df.index.tolist()
    df_1["累计申请"]=df['申请编号'].tolist()
    df_1["累计申请金额"]=df['申请金额'].tolist()
    df_1["项目"]=index
    return df_1
def create_dataframe_22(df):
    df_1=pd.DataFrame()
    index=df.index.tolist()
    df_1["累计审批"]=df['申请编号'].tolist()
    df_1["累计审批金额"]=df['申请金额'].tolist()
    df_1["项目"]=index
    return df_1
def create_dataframe_32(df):
    index=df.index.tolist()
    df_1=pd.DataFrame()
    df_1["累计放款"]=df['申请编号'].tolist()
    df_1["累计放款金额"]=df['申请金额'].tolist()
    df_1["项目"]=index
    return df_1
#今日申请数量及金额
#今日审核数量及金额
#今日回款数量及金额
def daily():
    sq=use_data1(df=res,order_status=order_status_sq,pattern=pattern1)
    sq=create_dataframe_1(sq)
    sh=use_data1(df=res,order_status=order_status_sh,pattern=pattern1)
    sh=create_dataframe_2(sh)
    #df需要改成df3
    fk=use_data2(df=df3,order_status=order_status_fk,pattern=pattern1)
    fk=create_dataframe_3(fk)
    return sq,sh,fk
def month():
    sq=use_data1(df=res,order_status=order_status_sq,pattern=pattern2)
    sq=create_dataframe_11(sq)
    sh=use_data1(df=res,order_status=order_status_sh,pattern=pattern2)
    sh=create_dataframe_21(sh)
    #df需要改成df3
    fk=use_data2(df=df3,order_status=order_status_fk,pattern=pattern2)
    fk=create_dataframe_31(fk)
    return sq,sh,fk
def consum():
    sq = use_data11(df=res, order_status=order_status_sq)
    sq=create_dataframe_12(sq)
    sh = use_data11(df=res, order_status=order_status_sh)
    sh=create_dataframe_22(sh)
    # df需要改成df3
    fk = use_data22(df=df3, order_status=order_status_fk)
    fk=create_dataframe_32(fk)
    return sq, sh, fk
#原生表
yb=pd.read_excel(r'C:\Users\kyrie\Downloads\碧桂园贵州区域安居分期每日回款情况跟进表(1).xlsx')
yb
#今日数据生成表
sq,sh,fk=daily()
# sq,sh,fk=month()
# sq,sh,fk=consum()
for k in [sq,sh,fk]:
    for i in yb["项目"]:
        for j in sq["项目"]:
            if i==j:
                yb.loc[yb[yb['项目']==j].index.tolist()[0],'今日申请']=sq[(sq['项目']==j)]['今日申请'].tolist()[0]
                yb.loc[yb[yb['项目']==j].index.tolist()[0],'今日申请金额']=sq[(sq['项目']==j)]['今日申请金额'].tolist()[0]/10000
        for j in sh["项目"]:
            if i==j:
                yb.loc[yb[yb['项目']==j].index.tolist()[0],'今日审批']=sh[(sh['项目']==j)]['今日审批'].tolist()[0]
                yb.loc[yb[yb['项目']==j].index.tolist()[0],'今日审批金额']=sh[(sh['项目']==j)]['今日审批金额'].tolist()[0]/10000
        for j in fk["项目"]:
            if i==j:
                yb.loc[yb[yb['项目']==j].index.tolist()[0],'今日放款']=fk[(fk['项目']==j)]['今日放款'].tolist()[0]
                yb.loc[yb[yb['项目']==j].index.tolist()[0],'今日放款金额']=fk[(fk['项目']==j)]['今日放款金额'].tolist()[0]/10000
yb
#本月数据生成表
sq,sh,fk=month()
for k in [sq,sh,fk]:
    for i in yb["项目"]:
        for j in sq["项目"]:
            if i==j:
                yb.loc[yb[yb['项目']==j].index.tolist()[0],'本月申请']=sq[(sq['项目']==j)]['本月申请'].tolist()[0]
                yb.loc[yb[yb['项目']==j].index.tolist()[0],'本月申请金额']=sq[(sq['项目']==j)]['本月申请金额'].tolist()[0]/10000
        for j in sh["项目"]:
            if i==j:
                yb.loc[yb[yb['项目']==j].index.tolist()[0],'本月审批']=sh[(sh['项目']==j)]['本月审批'].tolist()[0]
                yb.loc[yb[yb['项目']==j].index.tolist()[0],'本月审批金额']=sh[(sh['项目']==j)]['本月审批金额'].tolist()[0]/10000
        for j in fk["项目"]:
            if i==j:
                yb.loc[yb[yb['项目']==j].index.tolist()[0],'本月放款']=fk[(fk['项目']==j)]['本月放款'].tolist()[0]
                yb.loc[yb[yb['项目']==j].index.tolist()[0],'本月放款金额']=fk[(fk['项目']==j)]['本月放款金额'].tolist()[0]/10000
yb
#累计生成表
sq,sh,fk=consum()
sq
for k in [sq,sh,fk]:
    for i in yb["项目"]:
        for j in sq["项目"]:
            if i==j:
                yb.loc[yb[yb['项目']==j].index.tolist()[0],'累计申请']=sq[(sq['项目']==j)]['累计申请'].tolist()[0]
                yb.loc[yb[yb['项目']==j].index.tolist()[0],'累计申请金额']=sq[(sq['项目']==j)]['累计申请金额'].tolist()[0]/10000
        for j in sh["项目"]:
            if i==j:
                yb.loc[yb[yb['项目']==j].index.tolist()[0],'累计审批']=sh[(sh['项目']==j)]['累计审批'].tolist()[0]
                yb.loc[yb[yb['项目']==j].index.tolist()[0],'累计审批金额']=sh[(sh['项目']==j)]['累计审批金额'].tolist()[0]/10000
        for j in fk["项目"]:
            if i==j:
                yb.loc[yb[yb['项目']==j].index.tolist()[0],'累计放款']=fk[(fk['项目']==j)]['累计放款'].tolist()[0]
                yb.loc[yb[yb['项目']==j].index.tolist()[0],'累计放款金额']=fk[(fk['项目']==j)]['累计放款金额'].tolist()[0]/10000
yb
yb.to_excel('llll.xlsx')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值