Use a Python Package called 'pyspc' to create control charts

  • pyspc is not native package in Anaconda and hence has to be installed separately (pip install this package)
  • pip installation procedure
    1. Open Conda Prompt
    2. Type - pip install pyspc
    3. Installation should be completed in few minutes
    4. In case of any error, check if python has been installed properly
In [1]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
In [2]:
import pyspc as spc

Xbar R Chart

In [3]:
xbardata= pd.read_excel("F:/2019 GB Python/pyspc_XbarR.xlsx")
xbardata.head()
Out[3]:
V1 V2 V3 V4 V5
0 74.030 74.002 74.019 73.992 74.008
1 73.995 73.992 74.001 74.011 74.004
2 73.988 74.024 74.021 74.005 74.002
3 74.002 73.996 73.993 74.015 74.009
4 73.992 74.007 74.015 73.989 74.014
In [4]:
from pyspc import *
a= spc(xbardata) + xbar_rbar() + rbar()
print(a)
<pyspc: (1515735)>
In [5]:
from pyspc import *
a= spc(xbardata) + xbar_rbar() + rbar() + rules()
print(a)
<pyspc: (1515731)>
In [6]:
from pyspc import *
a = spc(xbardata) + xbar_sbar() + sbar() + rules()
print(a)
<pyspc: (1515735)>

Individual & Moving Range Chart

In [7]:
xdata= pd.read_csv("F:/2019 GB Python/pyspc_X.csv")
xdata.head()
Out[7]:
X
0 31.689752
1 31.132768
2 29.357383
3 29.421484
4 30.983161
In [8]:
from pyspc import *
a = spc(xdata) + mr() +rules()
print(a)
<pyspc: (8562861)>
In [9]:
Mean =xdata.loc[:,"X"].mean()
sns.lineplot(x=xdata.index, y=xdata.X)
sns.lineplot(x=xdata.index, y=Mean)
plt.title("Individuals Run Chart")
Out[9]:
Text(0.5, 1.0, 'Individuals Run Chart')

Discrete Data Control Chart

In [ ]: