文件筛选文件并复制到本机

1. 策略,使用python os包处理,缺点设备电脑没有安装python。所有更换策略,直接使用dos 命令,制作成bat脚本然后运行。

2. 筛选文件遇到的问题,因为在该文件夹下除了需要的csv的格式log,还有许多其他的文件,而且文件名很相似。因此只有通配符*进行匹配,并且copy 到指定的路径下面。因为文件名有日期,所以我需要过去一个月的那我就直接修改成201812*TEST_DATA*.csv。

(在文本编辑器里面粘贴下面的代码,然后保存为**bat,然后运行就可以复制文件到本机了)

@echo off

xcopy /s /y "\\192.168.1.1\d$\Logs\B\Common\201901*TEST_DATA*.csv" "\\C:\users\admin\log"

数据提取过程

需要的数据文件成百上千个,每个基本上有5M左右,总共有300G左右。OMG!如果去一个个的找到了再复制过来,估计我这几天的工作就是copy paste了~~

还好我有万能的大蟒蛇(Python),最近正在研究它是如何来帮我装逼(zhuang,bi)的。查看了一部分文件,发现里面的格式还算好不是很混乱。没有列名称,开头一行是写的文件名称,时间+TEST_DATA*.csv,然后下一行开始就是一些记录。装逼开始:

打开我的jupyter notebook,

import pandas as pd

df=pd.read_csv(r"\C:\users\admin\log\aa.csv")

df.head()

报错啦,ParserError: Error tokenizing data. C error: Expected 13 fields in line 6, saw 15

WTF,这是什么鬼,没有见过呢。期望有13个区域,但是发现了15?好吧找度娘,发现我前面的数据列数与后面的不匹配。那怎么办?好办,我去pandas 官方文档查看 pd.read_csv的使用方法,有个有意思的配置 names。就是自己给导入的文件加一个列表名称。

names : array-like, default None

List of column names to use. If file contains no header row, then you

should explicitly pass header=None. Duplicates in this list will cause

a ``UserWarning`` to be issued.

添加names,然后运行完美解决。

提取需要的数据,还好目前只是需要提取里面的一个数据。需要的数据存放格式是在两列里面的,根据全面的字段,获取后面一个字段的数值。类似这样的csv格式,,,,,H=,8000,,,,

h=df[df.h=='H=']

h

44 8085

360 8100

439 8100

599 8055

678 8095

757 8085

836 8090

917 7960

1075 8020

#获得结果是我们需要的,但是还记得我们300G的嘛?

定义函数对所有文件进行处理,提取出的数据并保存成csv文件

import pandas as pd

def hdata(files):

t=pd.read_csv(files,skiprows=1, names=['Date','a','b','c','h','Z','X=','X','Y=','Y','T','T1','T2'])

h1=t[t.h==''H=']

h2=t[t.h==''H1=']

z=pd.concat([h1.h,h2.h],axis=0)

df=pd.DataFrame(z)

df=df.set_index('h',drop=True)

df.to_csv(r"C:\Users\admin\Desktop\h.csv",header='False',mode='a')

#mode 'a'是跟OS包文件处理相同,只增加不覆盖。就是越写越多

获取所有文件的名称,并调用数据提取函数,处理所有的数据完成后保存。

import os

def file_name(file_dir):

L=[]

for root, dirs, files in os.walk(file_dir):

for file in files:

if os.path.splitext(file)[1] == '.csv':

L.append(os.path.join(root, file))

return L

x=file_name(r"\C:\users\admin\log\")

for f in x:

zdata(f)

最后的数据分析计算

将最后获得的数据导入到另外的DataFrame里面开始计算。

x=pd.read_csv(r"C:\Users\admin\Desktop\h.csv")

print(x.shape)

x.describe()

怎么回事?数据是object?数据集的描述也感觉怪怪的。

使用神器notepad++ 打开文本查看,结果发现每次在写入一次文件的时候都加了一个 H= 的列名。知道问题所在了,就好搞定它了~我是巨坑

移除多余的列表名称

te=x[x.H != 'H']

te=te.set_index('H',drop=True)

te.to_csv(r"C:\Users\admin\Desktop\hh.csv")

ddf=pd.read_csv(r"C:\Users\admin\Desktop\hh.csv")

ddf.describe()

根据下图的结果可以看到我们的西格玛值(std)197.825394,均值8230.035271

我们希望得到6sigma 的质量标准,那么我们所设置的H值的上下限就可以根据公式计算出来:LCL=Mean-6*sigma

UCL=Mean+6*sigma

最终范围为:6 sigma range=[ 8032.209877151716 ~ 8427.86066444984 ]

avg=ddf.mean()

std=ddf.std()

sigma_low=avg-std

sigma_high=avg+std

print('6 sigma range=[',sigma_low[0],'~',sigma_high[0],']')

6 sigma range=[ 8032.209877151716 ~ 8427.86066444984 ]

最后上一个JMP生成的分析

3西格玛计算公式_6 西格玛相关的计算相关推荐

  1. 3西格玛计算公式_3西格玛的计算方法?

    展开全部 在正态分布中σ代表标准差,μ代表均值.x=μ即为图像的对称32313133353236313431303231363533e4b893e5b19e31333431363561轴 3σ原则为 ...

  2. 信息学奥赛一本通 1014:与圆相关的计算 | OpenJudge NOI 1.3 09

    [题目链接] ybt 1014:与圆相关的计算 OpenJudge NOI 1.3 09:与圆相关的计算 [题目补充] OpenJudge中有提示,本题中圆周率只能取3.14159,这一点在ybt中没 ...

  3. 信息学奥赛一本通(1014:与圆相关的计算)

    1014:与圆相关的计算 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 85541     通过数: 40714 [题目描述] 给出圆的半径,求圆的直径.周长和面 ...

  4. 三西格玛和六西格玛区别是什么?优思学院用一幅图告诉你

    3西格玛和6西格玛的质量水平相距甚远,这个视频中用了三个实例说明了两者在不同行业上的具体绩效表现.优思学院认为,企业只有追求完美,不断改进流程,才能不断超越现状,才可以取得更大的业绩. 西格玛水平代表 ...

  5. 索尼 Sensor 基本概念,及曝光相关的计算

    CMOS Sensor 的一些基本概念,及曝光相关的计算 - 知乎 1.基本概念 1)帧 简单来说,一帧就是一副图像.显示器上面我们看到的画面就是一帧一帧的显示的.只不过显示的速度足够快,人眼以为画面 ...

  6. 计算机性能指标相关的计算

    计算机性能指标相关的计算 基本的单位换算: 计算机中存储单位的换算:1GB=210MB=220KB=230B=230∗8b1GB=2^{10} MB=2^{20} KB=2^{30} B = 2^{3 ...

  7. minitab怎么算西格玛水平_西格玛和西格玛水平

    西格玛和西格玛水平 - Jeff 很多人经常将"西格玛"和"西格玛水平"这两个概念给混淆,在学习六西格玛时,这两个概念必须明确区分开来,并掌握好. 在解释这两个 ...

  8. java 跨年 周计算公式_如何跨年计算 两日期之间相隔的周数 with java8 time API

    ===============================2016年9月版 分割线======================================== 之前版本的我太simple了.. ...

  9. 六西格玛dfss_六西格玛系列知识之二:六西格玛管理的基本原理

    六西格玛管理是一系统,其系统性体现在它既提出了面向产品和服务设计开发的六西格玛设计,又提出了面向流程.产品制造.服务提供的六西格玛改进方法. 从当前的情况来看,六西格玛设计(DFSS)项目推进尚未形成 ...

最新文章

  1. VC++6.0开发环境之快捷键
  2. 外部函数获取内部函数变量_一维随机变量的分布函数
  3. http://mirrors.aliyuncs.com/centos/7/extras/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http:/
  4. mysql 用户与数据_MySQL经验9-用户和数据安全
  5. Python爬虫连载16-OCR工具Tesseract、Scrapt初步
  6. 【拓扑排序】排队-C++
  7. Unity3D手游开发日记(6) - 适合移动平台的水深处理
  8. js基础-20-js对象赋值时的key值问题
  9. Nginx系列(6):Web服务器分析(理论)
  10. js混淆还原工具_技术分享:几种常见的JavaScript混淆和反混淆工具分析实战
  11. 汉诺塔递归算法Java实现
  12. ubuntu20 卸载显卡驱动失败_Ubuntu20.04显卡驱动安装
  13. ArangoDB查询语言(AQL) 基本语法用法
  14. logisim 快速加法器设计实验报告_八位加法器设计实验报告
  15. 华为云git clone代码
  16. java aspx 验证码,asp 动态生成验证码
  17. C++:66---特殊工具与技术之(不可移植的特性:位域、volatile、extern “C“链接提示)
  18. autojs联众识图
  19. 2019年市面上360全景相机大比拼 Insta360 Pro 2,得图Detu F4 Plus,理光Theta SC,GoPro Fusion,Nikon尼康KeyMission 360
  20. 等保培训.04.主机系统安全测评

热门文章

  1. java 流换行符_java流中的换行符在javascript中的表示
  2. Oracle中tnsping无响应
  3. 【活动公告】Hackathon —— 腾讯云AI API接入迷你赛
  4. 手写数字识别MNIST数据集下载百度网盘链接快速下载
  5. 阿里图库字体使用方法---新手适合看
  6. C语言判断素数,判断质素算法
  7. VDA6.3认证咨询,VDA6.3过程审核作业指导书工作流程和内容
  8. Android5.1中Contacts模块拨号加载联系人信息流程
  9. vue如何使浏览器url固定_关于前端url加密方式总结 (Vue-cli中使用)
  10. 群晖php启动失败,群晖 Synology应用程序服务更新失败的解决方法