东北大学python大作业

news2024/11/26 12:23:57

      目前金属矿开采,爆破还是主要的破岩方式,为了保证巷道采场的安全,需要对爆破震动进行监测,获取的监测数据如附件,第1列数据为震动的序号,第2、3、4列为x,y,z三个方向的震动速度,往往由于各种因素如环境、采集设备故障等导致采集的数据存在缺失、异常、冗余等现象,这会降低系统分析和预测能力,因此,如何将获取“脏数据”进行科学合理的清洗是亟待解决的问题。一般说来,脏数据主要存在异常、缺失和冗余这三类,如某一行的数据不是4列,或者x,y,z缺失或者格式为字符不是数字等。对数据进行清洗后,请计算出爆破振动的合速度,建立新的文件,保存在第5列,在文件开头保存程序运行时的系统时间和程序开发者姓名,并绘制出合速度的波形图,绘制波形使用turtle库或matplotlib库。

 

import csv
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt


out = open('data.csv', 'w+', newline='')
csv_writer = csv.writer(out, dialect='excel')

f = open("data.txt", "r")
flag = 0
for line in f.readlines():
    lst = list(line.strip('\n').split(','))  # 将字符串转为列表,从而可以按单元格写入csv
    for item in lst:
        if item == 'X(S)' or item == 'X(cm/s)' or item == 'Y(cm/s)' or item == 'Z(cm/s)':
            flag = 4
            break
        elif item.islower():
            flag = 0
            break
        elif item.find('.') < 3 and item.find('.') > 0:
            flag = flag+1
            continue

    if flag == 4:
        csv_writer.writerow(lst)
    flag = 0


# 读取数据文件
reader = pd.read_csv('data.csv', header=[0])
X = reader.iloc[:, 1]
Y = reader.iloc[:, 2]
Z = reader.iloc[:, 3]
T = reader.iloc[:, 0]
# 计算合速度
V = np.sqrt(X**2 + Y**2 + Z**2)
#将V存入第五列
reader['V'] = V
reader.to_csv('data.csv', index=False)
# 绘制波形图
plt.figure(num=1, figsize=(8, 4))
plt.plot(T, V,  color='green')
plt.legend()
plt.xlabel('time')
plt.ylabel('velocity')
plt.title('Blasting vibration composite velocity waveform graph')
plt.grid()
plt.show()

如果不出意外的话,这可能是我的python系列的最后一篇文章了。

在文章的最后是我的致谢环节:

       首先,感谢王老师,王运森老师真的教的非常用心,他的课程配合Python语言基础程序(第二版)学习,真的学习感觉非常好,学生无以为报,当以所学知识为国家为人民放光发热,继先生之学,传先生之术。

       然后,感谢我的程海师兄对我这篇文章的点拨,没有他的指导,我或许要多走许多弯路才能完成这个程序,在此特别鸣谢一下。

附(数据处理结果及波形图):

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1169490.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GNU ld 链接器lang_process() (一)

一、lang_process() 从现在开始介绍 lang_process()函数&#xff0c;是GNU ld&#xff08;GNU链接器&#xff09;的一个核心函数&#xff0c;负责执行链接过程中的各个关键操作。lang_process(void) 函数涵盖了整个链接过程中的各个关键步骤&#xff0c;包括符号解析、重定位、…

误删的文件恢复了成乱码 误删的文件恢复了成乱码怎么调整

电脑系统&#xff1a;Windows11 电脑型号&#xff1a;惠普 软件版本&#xff1a;EasyRcovery14 关于电脑&#xff0c;我们可以说是非常熟悉&#xff0c;并熟练掌握了对电脑的最基本操作&#xff0c;比如复制、粘贴、新建、删除文件。但我们真的很懂它吗&#xff1f;比如误删…

常见的单token登录方案

现在主流的单token方案为jwttoken和redis token 常用的跟jwt token集成框架有shrio、spring security、aop切面。redis也能跟这三者集成。跟redis相比&#xff0c;jwt token比较难注销&#xff0c;得等到有效期过了才行&#xff0c;实际根据项目需求来就行。 简单介绍如下&am…

奇偶校验码和循环冗余码

在数据链路层的传输中&#xff0c;1可能变成0&#xff0c;0可能变成1&#xff0c;这是比特差错。 为了应对比特差错&#xff0c;有两种方式&#xff0c;即自动重传请求ARQ&#xff08;Automatic Repeat-reQuest&#xff09;和前向纠错FEC&#xff08;Forward Error Correction&…

数字电路与逻辑设计 触发器

与非门构成的RS触发器 在这个中禁止RS 00 要记住s对应Q 或非门构成的RS触发器 注意这里的RS换了位置 且不允许RS 11 同步触发器 钟控RS触发器 钟控D触发器 cp 为 0 的时候不变 钟控JK触发器 00不变11改&#xff0c;JK不同随J摆 钟控T触发器 什么是空翻&am…

APLHA开发板系统启动

一. 简介 前面学习了 uboot的移植&#xff0c;在 NXP的 Kernel内核源码里添加 ALPHA开发板的工作。本文为设置CPU主频做准备&#xff0c;开发板从 Nand-Flash中启动根文件系统。 具体来说&#xff0c;我的目的是开发板能正常启动&#xff08;从Nand-Flash加载根文件系统&#…

MyBatis底层原理(小白版本)

&#xff01;特别声明&#xff01;&#xff1a;这篇文章只是单纯用来应对面试&#xff0c;并不能用来当作深度解析的文章来看。本人才疏学浅&#xff0c;文章也可能有不对的地方&#xff0c;望指正。 此源码分析使用的是Java11 基本使用流程&#xff1a; String resource &q…

DAY43 完全背包理论基础 + 518.零钱兑换II

完全背包 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品都有无限个&#xff08;也就是可以放入背包多次&#xff09;&#xff0c;求解将哪些物品装入背包里物品价值总和最大。 完全背包和01背包问题唯一不同…

【51单片机】串口与LED点阵屏(学习笔记)

一、串口 1、串口的概述 串口是一种应用十分广泛的通讯接口&#xff0c;串口成本低、容易使用、通信线路简单&#xff0c;可实现两个设备的互相通信。 单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信&#xff0c;极大的扩展了单片机的应用…

数据中心如何散热?

数据中心的散热是一个非常重要的问题&#xff0c;因为数据中心内运行的服务器、存储设备以及网络设备等都会产生大量的热量&#xff0c;如果不能有效地进行散热&#xff0c;将会导致设备故障和性能下降。下面是一些常见的数据中心散热方法&#xff1a; 空调系统&#xff1a;数据…

20231103配置cv180zb的编译环境【填坑篇】

20231103配置cv180zb的编译环境【填坑篇】 2023/11/3 11:36 感谢您选择了晶视科技的cv180zb&#xff0c;让我们一起来填坑。 在你根据文档找不到答案的时候&#xff0c;是不是想把他们家那个写文档的家伙打一顿&#xff0c;我顶你。 当你在在网上找一圈&#xff0c;BAIDU/BING/…

C++初阶(八)类和对象

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、Static成员1、Static概念2、Static特性3、试题 二、友元1、友元的类型2、友元函数3、 友元…

CSS中flex和inline-flex的区别

CSS中flex和inline-flex的区别 起因 display:flex\inline-flex是CSS中弹性布局时&#xff0c;用于容器元素的样式选项。 让人有些糊涂&#xff0c;两者的区别时什么。网上看了一些文章都在扯什么宽度之类的&#xff0c;完全就是胡扯。 还有的写什么“将对象作为弹性伸缩盒显示…

【软件STM32cubeIDE下H73xx配置串口uart1+中断接收/DMA收发+HAL库+简单数据解析-基础样例】

#【软件STM32cubeIDE下H73xx配置串口uart1中断接收/DMA收发HAL库简单数据解析-基础样例】 1、前言2、实验器件3-1、普通收发中断接收实验第一步&#xff1a;代码调试-基本配置&#xff08;1&#xff09;基本配置&#xff08;3&#xff09;时钟配置&#xff08;4&#xff09;保存…

TEMU拼多多跨境平台要求提供的UL测试报告如何办理?电子产品UL测试标准要求

平台销售的电子产品&#xff0c;要符合指定的标准&#xff0c;如果不合格很容易发生起火&#xff0c;等危及消费者生命财产的安全&#xff0c;因此很多客户因为缺少UL报告&#xff0c;导致产品被下架&#xff0c;销售权被移除等问题&#xff0c;也少不了同行之间的恶意举报触发…

ActiveMQ、RabbitMQ、RocketMQ、Kafka介绍

一、消息中间件的使用场景 消息中间件的使用场景总结就是六个字&#xff1a;解耦、异步、削峰 1.解耦 如果我方系统A要与三方B系统进行数据对接&#xff0c;推送系统人员信息&#xff0c;通常我们会使用接口开发来进行。但是如果运维期间B系统进行了调整&#xff0c;或者推送过…

如何开始短视频的制作,短视频脚本如何写?

在短视频创作拍摄的过程中&#xff0c;你有没有遇到过类似的情况&#xff1a; 拍摄拍到中途手忙脚乱的&#xff0c;不知道接下来该拍摄什么类容&#xff0c;或者拍了一半发现拍摄场景不行&#xff0c;又重新调整拍摄场景&#xff0c;再者&#xff0c;拍摄过程中发现缺少了拍摄道…

【面试专题】设计模式篇①

1.工厂设计模式 工厂设计模式是一种创建型模式&#xff0c;它提供了一种创建对象的接口&#xff0c;但具体创建的对象类型可以在运行时决定。工厂设计模式主要解决的是创建对象的灵活性问题。 工厂设计模式主要包括简单工厂模式、工厂方法模式和抽象工厂模式三种。 简单工厂…

虹科示波器 | 汽车免拆检修 | 2010款江铃陆风X8车发动机怠速抖动、加速无力

一、故障现象 一辆2010款江铃陆风X8车&#xff0c;搭载4G6GS4N发动机&#xff0c;累计行驶里程约为20万km。该车在其他修理厂进行发动机大修&#xff0c;维修后试车&#xff0c;发动机怠速抖动、加速无力。用故障检测仪检测&#xff0c;发动机控制模块&#xff08;ECM&#xff…