Pandas学习-期末测试

这篇博客分享了使用Pandas处理显卡日志数据和进行水压站点特征工程的过程。作者首先介绍了如何从日志中提取信息并转换为结构化的DataFrame,然后详细阐述了在水压站点数据上进行时间序列分析和特征构建的步骤,包括处理时间戳、创建新特征等。文章最后感谢Datawhale提供的资源和社区支持。
摘要由CSDN通过智能技术生成

习题链接:http://datawhale.club/t/topic/579/7

任务四以及任务五的第一题是完整的做完的,任务五的其余小问把能做的尽量都做了。时间处理部分完成的还是不太ok,这部分没有熟练掌握,所以难哭了…等之后熟练之后会重新做的。还有呀,我之前觉得理解稍微有点困难的长宽表转换,现在用得66的哈哈哈,真有大用处!

暑假再开课的时候,我一定还要再学一遍!谢谢Datawhale这么好的资源和平台,以及Datawhale中这一群有能力有想法的人儿们~最后再谢谢耿老师!!!耐心且及时的答疑!!!耿老师之后要开的课,我都报名!哈哈哈

【任务四】显卡日志

下面给出了3090显卡的性能测评日志结果,每一条日志有如下结构:

Benchmarking #2# #4# precision type #1#
#1#  model average #2# time :  #3# ms

其中#1#代表的是模型名称,#2#的值为train(ing)或inference,表示训练状态或推断状态,#3#表示耗时,#4#表示精度,其中包含了float, half, double三种类型,下面是一个具体的例子:

Benchmarking Inference float precision type resnet50
resnet50  model average inference time :  13.426570892333984 ms

请把日志结果进行整理,变换成如下状态,model_i用相应模型名称填充,按照字母顺序排序,数值保留三位小数:
在这里插入图片描述

【数据下载】链接:https://pan.baidu.com/s/1CjfdtavEywHtZeWSmCGv3A 提取码:4mui

【我的思考】:
  • 首先是需要把txt文件中相应有用的信息(模型名字, Train or Inference, Float or Half of Double, 时间)提取出来。
  • 然后就是将信息存入表中的问题,我是先尝试将一条信息提取出来,然后再尝试将它存入表中。过程中就启发了我,将每一条(即每两行)的信息存入列表中,再将列表的值赋值为DataFrame表的一行。
  • 看到目标格式让我想到了可以长宽表的转换。
【我的解答】:
  • 读取txt文件内容
import numpy as np
import pandas as pd

df = pd.read_table('benchmark.txt', header=None)
df

在这里插入图片描述
发现所有的内容都在df[0]里面,没有按照分行存储。其实自己也有思考了使用sep来设定空格为分隔符的,但是发现提取出来更乱了。

  • 新建一个DataFrame表来存储有用的信息
df_final = pd.DataFrame(columns= ['model_name', 'Train_Infer', 'FHD', 'Time'])
df_final
  • 我们可以发现每两行为一个信息,所以将每两行的关键信息存储到一个列表中,再将其赋值给DataFrame的行。
for i in range(0, len(list(df[0]))-1, 2):
    temp = []
    temp.append(list(df[0])[i].split(' ')[5])
    temp.append(list(df[0])[i+1].split(' ')[4])
    temp.append(list(df[0])[i].split(' ')[2
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值