Skip to content

Instantly share code, notes, and snippets.

@bahati2000
Forked from countrymarmot/stats.py
Created November 21, 2021 13:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bahati2000/395e1525a79601f461a4a0aa99112d72 to your computer and use it in GitHub Desktop.
Save bahati2000/395e1525a79601f461a4a0aa99112d72 to your computer and use it in GitHub Desktop.
caculate Cp and Cpk using python numpy
#!/usr/bin/env python
# encoding: utf-8
import numpy as np
def Cp(mylist, usl, lsl):
arr = np.array(mylist)
arr = arr.ravel()
sigma = np.std(arr)
Cp = float(usl - lsl) / (6*sigma)
return Cp
def Cpk(mylist, usl, lsl):
arr = np.array(mylist)
arr = arr.ravel()
sigma = np.std(arr)
m = np.mean(arr)
Cpu = float(usl - m) / (3*sigma)
Cpl = float(m - lsl) / (3*sigma)
Cpk = np.min([Cpu, Cpl])
return Cpk
if __name__ == "__main__":
#a1 = np.random.randn(10)
#print a1
#print Cp(a1, 1, -1)
#print Cpk(a1, 1, -1)
a1 = np.arange(0, 10)
print a1
print Cp(a1, 10, 0)
print Cpk(a1, 10, 0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment