首页 > 其他分享 >分析

分析

时间:2024-04-15 14:13:43浏览次数:22  
标签:分析 name frame cols time data id

策略结构化解析代码的 函数

def get_final_data(df ,project_name):
dfi = df.loc[df.project_name == project_name].copy()
dfi.reset_index(inplace = True ,drop = True)
data_frame = dfi.get_json(['input_data','temp_data','output_data'])
#data_frame['reason_code'] = data_frame['__reason_code']
data_frame['reason_code'] = data_frame['__reason_code'].apply(lambda x:str(x).replace("[",'').replace("]",'').replace("'","") if isinstance(x,(str,list)) else x)
#data_frame['reason_code'] = data_frame['reason_code'].apply(lambda x:str(x).split(',')[0].replace('"','') if isinstance(x,(str,list)) and str(x).find(',') > -1 else x)
data_frame.drop_col(['kh_identNo','kh_mobileNo','kh_name','__reason_code' ,'__fire_trace','__node_trace'] ,inplace=True)
data_frame = data_frame.merge(dfi[['session_id']] ,how = 'left' ,left_index= True ,right_index=True)
data_frame = data_frame.rename_col({'OUT_TEMPDECISION': 'OUT_TEMPDECISION'.lower()})
data_frame = data_frame.loc[pd.notnull(data_frame.out_tempdecision)].copy()
data_frame.reset_index(inplace = True ,drop = True)
g = dfi.groupby('session_id')
dfi_time = pd.DataFrame({'start_time':g.start_time.min() ,
'end_time':g.end_time.max() ,
'id':g.id.max()})
dfi_time.reset_index(inplace = True)
data_frame = data_frame.merge(dfi_time ,how = 'left' ,on = 'session_id')
dfi_version = dfi.drop_duplicates('session_id')
data_frame = data_frame.merge(dfi_version[['session_id' ,'version' ,'project_name']] ,how = 'left' ,on = 'session_id')
data_frame['apply_date'] = data_frame.start_time.apply(lambda x:pc.str2date(str(x)))
data_frame['start_time']=pd.to_datetime(data_frame['start_time'],format='%Y-%m-%d')
data_frame['end_time']=pd.to_datetime(data_frame['end_time'],format='%Y-%m-%d')
data_frame['cost_time'] = data_frame.apply(lambda x:(x['end_time'] - x['start_time']).seconds ,axis = 1)
cols_rep = data_frame.columns.to_list()
cols_x = [i for i in cols_rep if i.endswith('_x')]
cols_y = [i for i in cols_rep if i.endswith('_y')]
if len(cols_x):
for i in range(len(cols_x)):
data_frame[cols_x[i][:-2]] = data_frame.apply(lambda x: x[cols_x[i]] if pd.notnull(x[cols_x[i]]) else x[cols_y[i]] ,axis = 1)
data_frame.drop_col(cols_x + cols_y ,inplace=True)
cols_name = ['session_id' , 'customerName','idCard' , 'phoneNo','apply_date' ,'start_time',
'end_time','out_tempdecision','reason_code','id' ]
cols_col = data_frame.columns.to_list()
cols_name = [i for i in cols_name if i in cols_col]
for i in cols_name:
cols_col.remove(i)
cols_name.extend(cols_col)
data_frame[cols_name]
data_frame = data_frame[cols_name].copy()
if len(pc.re_search('dk_mx_loanRate_list',data_frame)):
data_frame['dk_mx_loanRate_list'] = data_frame['dk_mx_loanRate_list'].astype(str)
data_frame.drop_duplicates('session_id' ,keep = 'last' ,inplace = True)
data_frame.reset_index(inplace = True ,drop = True)
return data_frame

sqlStr='''select session_id ,start_time ,end_time ,input_data ,temp_data ,
output_data ,project_name ,version,id from 表 where dt = 'now' '''
conn = jaydebeapi.connect(dirver, url, [user, password], jarFile)
curs=conn.cursor()
curs.execute(sqlStr)
data_allresult= pd.read_sql_query(sqlStr,conn)
data_allresult['input_data'] = data_allresult['input_data'].apply(lambda x: str(x)[1:-1])
data_allresult['temp_data'] = data_allresult['temp_data'].apply(lambda x: str(x)[1:-1])
data_allresult['output_data'] = data_allresult['output_data'].apply(lambda x: str(x)[1:-1])
bkbsx= get_final_data(data_allresult ,'bangkebangSX')
bkbyx = get_final_data(data_allresult ,'bangkebangYX')

标签:分析,name,frame,cols,time,data,id
From: https://www.cnblogs.com/qw45erwqwewqr/p/18135821

相关文章

  • C3P0反序列化链分析
    前言C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。使用它的开源项目有Hibernate、Spring等。之前有接触到过,但是没有深入了解,像之前学二次反序列化时,WrapperConnectionPoolDataSource就是C3P0的环境搭建<dependency><groupId>com.......
  • 静态代码分析的这些好处,我竟然都不知道?
    在软件开发中,单元测试的重要性毋庸置疑。我们都知道编码的必要条件是需要隔离代码来进行测试和质量保证。但我们如何确保部署的代码尽可能优质呢?答案是:静态代码分析。企业往往不会优先考虑静态分析。事实上,如果我们想创建更好的软件来帮助企业在市场竞争中取胜,我们就不能回避CI/C......
  • 跨域攻击分析和防御(中)
    利用域信任密钥获取目标域权限 搭建符合条件域环境,域林内信任环境搭建情况如下,如图7-8所示。父域域控:dc.test.com(WindowsServer2008R2)子域域控:subdc.test.com(WindowsServer2012R2)子域内计算机:pc.sub.test.com(Windows7)子域内普通用户:sub\test 图7-8 ......
  • "(UE4Editor.exe中)处有未经处理的异常:0xC0000005:读取位置0x0000000000000000时发生
    报错情况:使用ue4.27Slate编写Widget时想通过获取Worl(通过本地PlayerController获取)来实现“设置定时任务为在音乐结束后自动触发函数”的功能ps:定时执行函数代码 解决方法:使用GWorld替换掉通过第0号PlayerController获取世界 原因分析:(由于本人校验较少,暂做以下估计)在......
  • EasyUEFI 初步分析
    EasyUEFI初步分析GUI采用foxtoolkit,分析主要关注对应类的FX::FXMetaClass,结合构造函数定位控件对应FXMapEntry中的事件函数fox-toolkit.orgpatch1根据字符串信息可定位到版本判断函数,关键点在454E10patch2完成上一步后发现启动后弹出注册框,关闭后不影响使用,可定位注册......
  • 2、APIView执行流程以及request对象源码分析
    一、基于View编写5个接口1、创建模型表models.pyfromdjango.dbimportmodelsclassBook(models.Model):name=models.CharField(max_length=64)price=models.IntegerField()publish=models.CharField(max_length=32)2、视图函数views.pyfrom......
  • Kryo反序列化链分析
    前言Kryo是一个快速序列化/反序列化工具,依赖于字节码生成机制(底层使用了ASM库),因此在序列化速度上有一定的优势,但正因如此,其使用也只能限制在基于JVM的语言上。Kryo序列化出的结果,是其自定义的,独有的一种格式。由于其序列化出的结果是二进制的,也即byte[],因此像redis这样可以存......
  • 原型设计工具比较分析
    原型设计工具比较分析:墨刀:适用领域:墨刀适用于快速原型设计和交互设计,特别适合移动应用和Web应用的设计。优点:界面简洁清晰,易于上手,适合初学者和团队合作。支持多种交互模式,如链接、滑动、弹出框等,可以较好地模拟用户操作流程。支持团队协作,可以多人同时编辑同一项目,方便团队......
  • jy验证码协议加密分析学习记录
    目录流程参考免责声明:分析请求与加密参数register请求获取challenge和gt第一次W值分析第二次提交W分析第二次W明文值分析第三个W值分析验证小坑流程参考免责声明:本文章主要用于技术交流学习,作者不承担任何滥用技术所产生的法律责任。如有侵权,请联系作者删除!分析请求与加......
  • wsl、Prometheus、grafana、性能瓶颈分析
    感觉学着没啥意义,有时候面试又问。待业半年了,技术有个屁用一、wslwsl解释看百度百科,主要是为了有一个linux环境,方便学习1、找到Windows功能,勾选       2、管理员运行终端      3、运行命令(默认安装ubuntu):wsl --install......