【python实战】-- 计算指定excel文件指定行指定间隔为一组的CPK

系列文章目录

文章目录


前言

一、计算指定excel文件指定行指定间隔为一组的CPK

1.引入库

代码如下(示例):

python 复制代码
import numpy as np
import matplotlib.pyplot as plt
from openpyxl import load_workbook
import pandas as pd

def CPK(data,USL,LSL):
    mean = np.mean(data)
    std = np.std(data)
    cp = (USL - LSL)/(6*std)
    Cpu = (USL - mean)/(3*std)
    Cpl = (mean - LSL)/(3*std)
    Cpk = min(Cpu,Cpl)
    return Cpk

file_path = "Summaryout-5S1S2.xlsx"
df = pd.read_excel(file_path)
data = df.iloc[1,1:None]
column_count = df.shape[1]
interval = 60
x_axis = 1
Cpk_total = []
interval_total = []
print(column_count)
for i in range(1,column_count,interval):
    data_cpk = df.iloc[1,i:i+(interval-1)]
    Cpk_value = CPK(data_cpk,1.5,0)
    Cpk_total.append(Cpk_value)
    x_axis = x_axis + 1
    #print(x_axis)
    interval_total.append(x_axis)
    #print(Cpk_value)

x = interval_total
y = Cpk_total  
x_num = len(x) 
plt.plot(x,y)
plt.xticks(ticks=[j for j in range(x_num) if j % 1 == 0], labels = [j for j in range(x_num) if j % 1 == 0])
plt.title('CPK')
plt.xlabel('date')
plt.ylabel('Cpk_value')
plt.grid()  #添加网格线
plt.show()

总结

分享:

我试想自己将来会成为一个什么样的人,然后站在未来自己的立场上判断如何做决定,怎样行动,动态的调整自己的生活;

相关推荐
源代码•宸4 小时前
分布式缓存-GO(分布式算法之一致性哈希、缓存对外服务化)
开发语言·经验分享·分布式·后端·算法·缓存·golang
我送炭你添花4 小时前
Pelco KBD300A 模拟器:03.Pelco-P 协议 8 字节完整拆解 + 与 Pelco-D 一一对应终极对照表
python·测试工具·运维开发
云和数据.ChenGuang4 小时前
PHP-FPM返回的File not found.”的本质
开发语言·php·运维工程师·运维技术
R.lin5 小时前
Java 8日期时间API完全指南
java·开发语言·python
yangpipi-5 小时前
《C++并发编程实战》 第4章 并发操作的同步
开发语言·c++
西南胶带の池上桜5 小时前
1.Pytorch模型应用(线性与非线性预测)
人工智能·pytorch·python
火钳游侠5 小时前
java单行注释,多行注释,文档注释
java·开发语言
有趣的我5 小时前
C++ 多态介绍
开发语言·c++
fie88896 小时前
波束赋形MATLAB代码实现
开发语言·matlab
丘狸尾6 小时前
gradio uv无法add
开发语言·python