题目二、代码

import json
import pandas as pd
path = 'F:/data/'
tabel3 = pd.read_excel(path+'表3.xlsx')
#建立新的dataframe
tabel3d = pd.DataFrame()

for i in range(tabel3.shape[0]):
    a = tabel3['report'].values[i]
    b = pd.Series(json.loads(a))
    c = pd.DataFrame(b).T
    tabel3d = tabel3d.append(c,sort=False)
tabel3d.shape   
(52, 7)
#建立三列低中高风险击中数
tabel3d['high'] = None
tabel3d['medium'] = None
tabel3d['low'] = None
tabel3d['id'] = tabel3['id'].values
tabel3d.set_index(['id'],inplace=True)
tabel3d
successrisk_itemsreport_idfinal_scorefinal_decisionapply_timereport_timehighmediumlow
id
0True[]ER20170214115014132973640Accept14870442140001487044215000NoneNoneNone
1True[{'risk_level': 'high', 'item_detail': {'discr...ER2017021411501515455146100Reject14870442160001487044216000NoneNoneNone
2True[]ER20170214115017196019830Accept14870442170001487044217000NoneNoneNone
3True[{'risk_level': 'low', 'item_detail': {'fraud_...ER2017021411501713850258100Reject14870442180001487044218000NoneNoneNone
4True[{'risk_level': 'low', 'item_detail': {'high_r...ER2017021411501816312404100Reject14870442190001487044219000NoneNoneNone
5True[{'risk_level': 'high', 'item_detail': {'discr...ER2017021411501911793637100Reject14870442190001487044220000NoneNoneNone
6True[{'risk_level': 'high', 'item_detail': {'discr...ER2017021411502019091675100Reject14870442210001487044221000NoneNoneNone
7True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150241711325410Accept14870442240001487044224000NoneNoneNone
8True[{'risk_level': 'medium', 'item_detail': {'pla...ER20170214115024179313318Accept14870442250001487044225000NoneNoneNone
9True[{'risk_level': 'high', 'item_detail': {'discr...ER2017021411502817613683100Reject14870442280001487044228000NoneNoneNone
10True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150281303770039Review14870442290001487044229000NoneNoneNone
11True[{'risk_level': 'high', 'item_detail': {'discr...ER2017021411502911395291100Reject14870442290001487044230000NoneNoneNone
12True[{'risk_level': 'high', 'item_detail': {'discr...ER2017021411502918786146100Reject14870442300001487044230000NoneNoneNone
13True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150311090184350Review14870442320001487044232000NoneNoneNone
14True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150321444661122Review14870442320001487044232000NoneNoneNone
15True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150321217941614Accept14870442330001487044233000NoneNoneNone
16True[{'risk_level': 'high', 'item_detail': {'discr...ER2017021411503311051577100Reject14870442330001487044233000NoneNoneNone
17True[]ER20170214115033165974520Accept14870442340001487044234000NoneNoneNone
18True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150331416101014Accept14870442340001487044234000NoneNoneNone
19True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150341273260924Review14870442340001487044235000NoneNoneNone
20True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150351030500721Review14870442350001487044235000NoneNoneNone
21True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150351190538918Accept14870442360001487044236000NoneNoneNone
22True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150361292548218Accept14870442370001487044237000NoneNoneNone
23True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150371734693820Review14870442370001487044237000NoneNoneNone
24True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150381692777418Accept14870442390001487044239000NoneNoneNone
25True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150391083716910Accept14870442390001487044240000NoneNoneNone
26True[{'risk_level': 'high', 'item_detail': {'discr...ER2017021411504010400653100Reject14870442400001487044241000NoneNoneNone
27True[{'risk_level': 'high', 'item_detail': {'discr...ER2017021411504119188759100Reject14870442420001487044242000NoneNoneNone
28True[{'risk_level': 'high', 'item_detail': {'discr...ER2017021411504213421618100Reject14870442430001487044243000NoneNoneNone
29True[]ER20170214115043199158250Accept14870442430001487044243000NoneNoneNone
30True[]ER20170214115043110108070Accept14870442440001487044244000NoneNoneNone
31True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150471229672120Review14870442480001487044248000NoneNoneNone
32True[]ER20170214115048173003530Accept14870442480001487044249000NoneNoneNone
33True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150491423346854Review14870442490001487044249000NoneNoneNone
34True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150491453166921Review14870442500001487044250000NoneNoneNone
35True[{'risk_level': 'medium', 'item_detail': {'pla...ER201702141150501309948210Accept14870442500001487044250000NoneNoneNone
36True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150501091550550Review14870442500001487044251000NoneNoneNone
37True[{'risk_level': 'low', 'item_detail': {'fraud_...ER20170214115051127095664Accept14870442510001487044251000NoneNoneNone
38True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150511403900024Review14870442510001487044252000NoneNoneNone
39True[{'risk_level': 'medium', 'item_detail': {}, '...ER201702141150511493670940Review14870442520001487044252000NoneNoneNone
40True[{'risk_level': 'medium', 'item_id': 1113936, ...ER201702141150521821941150Review14870442520001487044252000NoneNoneNone
41True[{'risk_level': 'medium', 'item_detail': {}, '...ER201702141150521434304640Review14870442530001487044253000NoneNoneNone
42True[{'risk_level': 'high', 'item_detail': {'discr...ER2017021411505312186926100Reject14870442530001487044253000NoneNoneNone
43True[{'risk_level': 'medium', 'item_detail': {'fra...ER201702141150541855679091Reject14870442550001487044255000NoneNoneNone
44True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150551001778622Review14870442560001487044256000NoneNoneNone
45True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150561254409038Review14870442560001487044256000NoneNoneNone
46True[{'risk_level': 'high', 'item_detail': {'discr...ER2017021411505715645485100Reject14870442570001487044257000NoneNoneNone
47True[{'risk_level': 'high', 'item_detail': {'discr...ER2017021411505712250618100Reject14870442580001487044258000NoneNoneNone
48True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141150581974561047Review14870442580001487044258000NoneNoneNone
49True[{'risk_level': 'low', 'item_detail': {'fraud_...ER20170214115059119448005Accept14870442590001487044260000NoneNoneNone
50True[]ER20170214115059103160650Accept14870442600001487044260000NoneNoneNone
51True[{'risk_level': 'low', 'item_detail': {'fraud_...ER201702141151001948420311Accept14870442610001487044261000NoneNoneNone
#统计每个样本低中高风险击中个数并填入表中然后输出到文件
for i in range(tabel3d.shape[0]):
    
    high = 0
    medium = 0
    low = 0
    
    if len(tabel3d['risk_items'].values[i])>0:    
        
        for j in range(len(tabel3d['risk_items'].values[i])):
            
            if tabel3d['risk_items'].values[i][j]['risk_level'] == 'high':
                high+=1
                
            elif tabel3d['risk_items'].values[i][j]['risk_level'] == 'medium':
                medium+=1
                
            elif tabel3d['risk_items'].values[i][j]['risk_level'] == 'low':
                low+=1
                
            else:
                pass
    tabel3d.loc[i,'high'] = high
    tabel3d.loc[i,'medium'] = medium
    tabel3d.loc[i,'low'] = low
    
tabel3d.rename(columns={'high':'高风险击中个数','medium':'中风险击中个数','low':'低风险击中个数'},inplace=True)
#处理好的新表3导出到文件
tabel3d.to_excel(path+'表3-处理后.xlsx')
#输出risk items类别最多的样本的索引
long = []
for i in range(len(tabel3d['risk_items'])):
    long.append(len(tabel3d['risk_items'][i]))

for i in range(len(long)):
    if long[i] == max(long):
        print(i)
    
4
platform_list = []
for i in range(tabel3d.shape[0]):
    
    if len(tabel3d['risk_items'][i])>0:
            
            for j in tabel3d['risk_items'][i]:
                if 'item_detail' in j:

                    if 'platform_detail' in j['item_detail']:

                        platform_list.append(j['item_detail']['platform_detail'])

platform_list2 = []
for i in platform_list:
    for j in range(len(i)):
        platform_list2.append(i[j])
        
platform_list3 = []
for i in platform_list2:
    platform_list3.append(i[:-2])
set(platform_list3)  
{'P2P网贷',
 'P2P网贷:',
 '一般消费分期平台',
 '互联网金融门户',
 '信用卡中心',
 '大型消费金融公司',
 '小额贷款公司',
 '融资租赁',
 '财产保险',
 '银行消费金融公司'}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值