获取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正则表达式match和search用法实例
Mar 26 Python
详解Python文本操作相关模块
Jun 22 Python
Python 处理图片像素点的实例
Jan 08 Python
python实现网页自动签到功能
Jan 21 Python
Python3.5迭代器与生成器用法实例分析
Apr 30 Python
PyQT5 QTableView显示绑定数据的实例详解
Jun 25 Python
如何基于python实现脚本加密
Dec 28 Python
使用tensorflow DataSet实现高效加载变长文本输入
Jan 20 Python
python多进程下的生产者和消费者模型
May 07 Python
pip/anaconda修改镜像源,加快python模块安装速度的操作
Mar 04 Python
Python Django 后台管理之后台模型属性详解
Apr 25 Python
Python集合的基础操作
Nov 01 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
如何给phpcms v9增加类似于phpcms 2008中的关键词表
2013/07/01 PHP
PHP文件上传主要代码讲解
2013/09/30 PHP
PHP Filter过滤器全面解析
2016/08/09 PHP
Valerio 发布了 Mootools
2006/09/23 Javascript
JavaScript 学习初步 入门教程
2010/03/25 Javascript
jQuery EasyUI API 中文文档 - ProgressBar 进度条
2011/09/29 Javascript
jQuery计算textarea中文字数(剩余个数)的小程序
2013/11/28 Javascript
html5 canvas js(数字时钟)实例代码
2013/12/23 Javascript
js判断设备是否为PC并调整图片大小
2014/02/12 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
轮播的简单实现方法
2016/07/28 Javascript
微信小程序-详解数据缓存
2016/11/24 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
微信小程序 图片加载(本地,网路)实例详解
2017/03/10 Javascript
bootstrap模态框示例代码分享
2017/05/17 Javascript
详解vue.js 开发环境搭建最简单攻略
2017/06/12 Javascript
JavaScript实现打印星型金字塔功能实例分析
2017/09/27 Javascript
nodeJS模块简单用法示例
2018/04/21 NodeJs
JavaScript面向对象编程小游戏---贪吃蛇代码实例
2019/05/15 Javascript
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
[02:49]DOTA2完美大师赛首日观众采访
2017/11/23 DOTA
Python中unittest模块做UT(单元测试)使用实例
2015/06/12 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
python爬虫爬取某站上海租房图片
2018/02/04 Python
Python DataFrame设置/更改列表字段/元素类型的方法
2018/06/09 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
python Pandas库基础分析之时间序列的处理详解
2019/07/13 Python
在macOS上搭建python环境的实现方法
2019/08/13 Python
PyQt5如何将.ui文件转换为.py文件的实例代码
2020/05/26 Python
python使用正则表达式匹配txt特定字符串(有换行)
2020/12/09 Python
加拿大女鞋品牌:ALDO
2016/11/13 全球购物
学校文明单位申报材料
2014/05/06 职场文书
小区文明倡议书
2014/05/16 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
村党的群众路线教育实践活动工作总结
2014/10/25 职场文书