【团队效率提升】Python-PyWebIO介绍( 二 )


文章图片
Steptwo:风险值卡控
第一步也只是上传文件 , 展示文件 , 还没达到咱们的目的 。 所以 , 第二步则是需要对上传的csv本身进行数据处理 , 逻辑判断 。 这里其实很好理解 , 在stepone中已经获取了上传的文件且转成dataframe了对吧 , 那么实际 , 咱们只需要沿用咱们熟悉的pandans对dataframe进行处理即可 。 importpandasaspdfrompywebio.inputimport*frompywebioimportstart_serverfrompywebio.outputimport*importnest_asyncioimportnumpyasnpimportosimporttimenest_asyncio.apply()def配置规则_风险值阈值(df,user_risk,pp_risk=None):df_updated=df[(df['风险值A']>=user_risk)|((df['风险值B']>=pp_risk))]returndf_updateddefread_csv():put_markdown('#只支持pin')put_markdown('功能如下:')put_markdown("""-选择与程序再**同一文件夹**的文件-输入你希望卡的风险值阈值**不输入则默认-10**-自动加载解析输出极黑标签占比以及明细数据-请勾选你所需要的标签**(不勾选=全选)** , 然后点击提交即可""")file=file_upload('只支持上传该程序所在文件夹的csv文件哦','.csv')##本地文件data=[]raw_data=https://pcff.toutiao.jxnews.com.cn/p/20230106/pd.read_csv(os.getcwd()+""+file['filename'],encoding='gbk')put_html(raw_data.to_html())##--------------------------下面是steptwo新增的代码--------------------------risk_value=https://pcff.toutiao.jxnews.com.cn/p/20230106/input_group("risk_value",[input("风险值A(默认-10)?",name="user_risk",type=NUMBER),input("风险值B(默认-10)?",name="pp_risk",type=NUMBER)],raw_data_upated=配置规则_风险值阈值(raw_data,risk_value['user_risk'],risk_value['pp_risk'])table1=raw_data_upated.groupby('指标').账号.count().reset_index()table1['占比']=table1.账号/len(raw_data_upated.账号.unique())*100table1.sort_values('占比',ascending=False,inplace=True)put_html(table1.to_html())##--------------------------上面是steptwo新增的代码--------------------------if__name__=='__main__':start_server(read_csv,port=8081,debug=True,cdn=False,auto_open_webbrowser=True)
【团队效率提升】Python-PyWebIO介绍
文章图片
????
【团队效率提升】Python-PyWebIO介绍
文章图片
StepThree:标签卡控
从第二步 , 我们已经完成了风险值阈值的卡控 , 然后第三步就是标签的选取了 。 从对标签的理解和应用经验以及第二步得到的标签在样本中的占比 , 咱们就可以快速的知道 , 这个样本里面的标签分布分别是什么 。 进一步可以通过标签的选取达到最终符合我们风险分层结果中有风险的那一部分的输出了importpandasaspdfrompywebio.inputimport*frompywebioimportstart_serverfrompywebio.outputimport*importnest_asyncioimportnumpyasnpimportosimporttimenest_asyncio.apply()def配置规则_风险值阈值(df,user_risk,pp_risk=None):df_updated=df[(df['风险值A']>=user_risk)|((df['风险值B']>=pp_risk))]returndf_updateddefread_csv():put_markdown('#只支持pin')put_markdown('功能如下:')put_markdown("""-选择与程序再**同一文件夹**的文件-输入你希望卡的风险值阈值**不输入则默认-10**-自动加载解析输出极黑标签占比以及明细数据-请勾选你所需要的标签**(不勾选=全选)** , 然后点击提交即可""")file=file_upload('只支持上传该程序所在文件夹的csv文件哦','.csv')##本地文件data=[]raw_data=https://pcff.toutiao.jxnews.com.cn/p/20230106/pd.read_csv(os.getcwd()+""+file['filename'],encoding='gbk')put_html(raw_data.to_html())risk_value=https://pcff.toutiao.jxnews.com.cn/p/20230106/input_group("risk_value",[input("风险值A(默认-10)?",name="user_risk",type=NUMBER),input("风险值B(默认-10)?",name="pp_risk",type=NUMBER)],raw_data_upated=配置规则_风险值阈值(raw_data,risk_value['user_risk'],risk_value['pp_risk'])table1=raw_data_upated.groupby('指标').账号.count().reset_index()table1['占比']=table1.账号/len(raw_data_upated.账号.unique())*100table1.sort_values('占比',ascending=False,inplace=True)put_html(table1.to_html())##--------------------------下面是stepthree新增的代码--------------------------set_list=raw_data_upated.指标.unique()list_save=checkbox(label='勾选保留的标签 , 不勾选=全选',options=set_list,inline=True)iflist_save==[]:list_save=set_listelse:list_save=list_saveraw_data_upated=raw_data_upated[raw_data_upated.指标.isin(list_save)]put_html(raw_data_upated.to_html())defSave0():put_markdown("YouclickSavebutton,Done").show()raw_data_upated.to_excel(os.getcwd()+""+'输出的风险明细.xlsx',index=False)put_markdown("findyourfileon程序同级文件夹下的文件:输出的风险明细.xlsx").show()put_buttons(['下载文件"对内不对外输出明细.xlsx"'],onclick=[Save0]).show()##--------------------------上面是stepthree新增的代码--------------------------if__name__=='__main__':start_server(read_csv,port=8081,debug=True,cdn=False,auto_open_webbrowser=True)