获取python运行输出的数据并解析存为dataFrame实例


Posted in Python onJuly 07, 2020

在学习xg的 时候,想画学习曲线,但无奈没有没有这个 evals_result_

AttributeError: 'Booster' object has no attribute 'evals_result_'

因为不是用的分类器或者回归器,而且是使用的train而不是fit进行训练的,看过源码fit才有evals_result_这个,导致训练后没有这个,但是又想获取学习曲线,因此肯定还需要获取训练数据。

运行的结果 上面有数据,于是就想自己解析屏幕的数据试一下,屏幕可以看到有我们迭代过程的数据,因此想直接获取屏幕上的数据,思维比较low但是简单粗暴。

获取python运行输出的数据并解析存为dataFrame实例

接下来分两步完成:

1) 获取屏幕数据

import subprocess
import pandas as pd
top_info = subprocess.Popen(["python", "main.py"], stdout=subprocess.PIPE)
out, err = top_info.communicate()
out_info = out.decode('unicode-escape')
lines=out_info.split('\n')

注:这里的main.py就是自己之前执行的python文件

2) 解析文件数据:

ln=0
lst=dict()
for line in lines:
 if line.strip().startswith('[{}] train-auc:'.format(ln)):
 if ln not in lst.keys():
  lst.setdefault(ln, {})
 tmp = line.split('\t')
 t1=tmp[1].split(':')
 t2=tmp[2].split(':')
 if str(t1[0]) not in lst[ln].keys():
  lst[ln].setdefault(str(t1[0]), 0)
 if str(t2[0]) not in lst[ln].keys():
  lst[ln].setdefault(str(t2[0]), 0)
 lst[ln][str(t1[0])]=t1[1]
 lst[ln][str(t2[0])]=t2[1]
 ln+=1
json_df=pd.DataFrame(pd.DataFrame(lst).values.T, index=pd.DataFrame(lst).columns, columns=pd.DataFrame(lst).index).reset_index()
json_df.columns=['numIter','eval-auc','train-auc']
print(json_df)

整体代码:

import subprocess
import pandas as pd
top_info = subprocess.Popen(["python", "main.py"], stdout=subprocess.PIPE)
out, err = top_info.communicate()
out_info = out.decode('unicode-escape')
lines=out_info.split('\n')
 
ln=0
lst=dict()
for line in lines:
    if line.strip().startswith('[{}]    train-auc:'.format(ln)):
        if ln not in lst.keys():
            lst.setdefault(ln, {})
        tmp = line.split('\t')
        t1=tmp[1].split(':')
        t2=tmp[2].split(':')
        if str(t1[0]) not in lst[ln].keys():
            lst[ln].setdefault(str(t1[0]), 0)
        if str(t2[0]) not in lst[ln].keys():
            lst[ln].setdefault(str(t2[0]), 0)
        lst[ln][str(t1[0])]=t1[1]
        lst[ln][str(t2[0])]=t2[1]
        ln+=1
json_df=pd.DataFrame(pd.DataFrame(lst).values.T, index=pd.DataFrame(lst).columns, columns=pd.DataFrame(lst).index).reset_index()
json_df.columns=['numIter','eval-auc','train-auc']
print(json_df)

看下效果:

获取python运行输出的数据并解析存为dataFrame实例

以上这篇获取python运行输出的数据并解析存为dataFrame实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python判断变量是否已经定义的方法
Aug 18 Python
python中随机函数random用法实例
Apr 30 Python
Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
Sep 08 Python
pip安装py_zipkin时提示的SSL问题对应
Dec 29 Python
使用python获取(宜宾市地震信息)地震信息
Jun 20 Python
python框架flask表单实现详解
Nov 04 Python
浅析python redis的连接及相关操作
Nov 07 Python
Python版中国省市经纬度
Feb 11 Python
Python urllib2运行过程原理解析
Jun 04 Python
keras slice layer 层实现方式
Jun 11 Python
python能做哪方面的工作
Jun 15 Python
Python如何配置环境变量详解
May 18 Python
利用keras使用神经网络预测销量操作
Jul 07 #Python
Python Mock模块原理及使用方法详解
Jul 07 #Python
opencv 图像礼帽和图像黑帽的实现
Jul 07 #Python
PyTorch: Softmax多分类实战操作
Jul 07 #Python
opencv 形态学变换(开运算,闭运算,梯度运算)
Jul 07 #Python
解决pytorch 交叉熵损失输出为负数的问题
Jul 07 #Python
Python基于httpx模块实现发送请求
Jul 07 #Python
You might like
PHP框架Laravel学习心得体会
2015/10/28 PHP
php获得刚插入数据的id 的几种方法总结
2018/05/31 PHP
JQuery中关于jquery.js与jquery.min.js的比较探讨
2013/05/15 Javascript
JavaScript打印iframe内容示例代码
2013/08/20 Javascript
jquery 鼠标滑动显示详情应用示例
2014/01/24 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
2014/06/03 Javascript
详解JavaScript中的Unescape()和String() 函数
2015/11/09 Javascript
详解javascript函数的参数
2015/11/10 Javascript
jquery+css3实现会动的小圆圈效果
2016/01/27 Javascript
jQuery Mobile框架中的表单组件基础使用教程
2016/05/17 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
window.open不被拦截的简单实现代码(推荐)
2016/08/04 Javascript
Jquery树插件zTree实现菜单树
2017/01/24 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
jQuery.ajax向后台传递数组问题的解决方法
2017/05/12 jQuery
微信小程序url与token设置详解
2017/09/26 Javascript
[01:32]2016国际邀请赛中国区预选赛IG战队首日赛后采访
2016/06/27 DOTA
python下MySQLdb用法实例分析
2015/06/08 Python
Python使用numpy实现BP神经网络
2018/03/10 Python
python 调用有道api接口的方法
2019/01/03 Python
Python 将json序列化后的字符串转换成字典(推荐)
2020/01/06 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
2020/06/03 Python
西班牙美妆电商:Perfume’s Club(有中文站)
2018/08/08 全球购物
法律专业自我鉴定
2013/10/03 职场文书
艺术应用与设计个人的自我评价
2013/11/23 职场文书
销售经理工作检讨书
2015/02/19 职场文书
自主招生自荐信怎么写
2015/03/24 职场文书
2015年银行工作总结范文
2015/04/01 职场文书
领导干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
2016年第104个国际护士节活动总结
2016/04/06 职场文书
公司年会主持词范文!
2019/05/07 职场文书
爱心捐款倡议书:点燃希望,传递温暖
2019/11/04 职场文书
教你快速开启Apache SkyWalking的自监控
2021/04/25 Servers
阿里云日志过滤器配置日志服务
2022/04/09 Servers