title: norm.ppf vs norm.cdf in python's scipy.stats
body: <p>so i have pasted my complete code for your reference, i want to know what's the use of ppf and cdf here? can you explain it? i did some research and found out that ppf(percent point function) is an inverse of CDF(comulative distribution function)
  if they really are, shouldn't this code work if i replaced ppf and cdf as 1/cdf and 1/ppf respectively?</p>
  <p>please explain this to me, the difference between the two. and how to and when to use which</p>
  <p>this is, btw, hypothesis testing.
  and sorry for so many comments, just a habit of explaining everything for my future reference.(do point me out if any of my comments is wrong regarding the same)</p>
  <pre><code>ball_bearing_radius = [2.99, 2.99, 2.70, 2.92, 2.88, 2.92, 2.82, 2.83, 3.06, 2.85]
  
  
  
  
  import numpy as np
  
  from math import sqrt
  from scipy.stats import norm
  
  # h1 : u != U_0
  # h0 : u = u_0
  #case study : ball bearing example, claim is that radius = 3, do hypothesis testing 
  mu_0 = 3
  sigma = 0.1
  
  #collect sample
  sample = ball_bearing_radius
  
  #compute mean
  mean = np.mean(sample)
  
  #compute n
  n = len(sample)
  
  #compute test statistic
  z = (mean - mu_0) /(sigma/sqrt(n))
  
  #set alpha
  a = 0.01
  
  #-------------------------
  
  #calculate the z_a/2, by using percent point function of the norm of scipy
  #ppf = percent point function, inverse of CDF(comulative distribution function)
  #also, CDF = pr(X&lt;=x), i.e., probability to the left of the distribution
  
  z_critical = norm.ppf(1-a/2)    #this returns a value for which the probab to the left is 0.975
  
  p_value = 2*(1 - norm.cdf(np.abs(z)))
  
  p_value = float(&quot;{:.4f}&quot;.format(p_value))
  
  
  print('z : ',z)
  print('\nz_critical :', z_critical)
  print('\nmean :', mean, &quot;\n\n&quot;)
  
  #test the hypothesis
  
  if (np.abs(z) &gt; z_critical):
      print(&quot;\nREJECT THE NULL HYPOTHESIS : \n p-value = &quot;, p_value, &quot;\n Alpha = &quot;, a )
  
  else:
      print(&quot;CANNOT REJECT THE NULL HYPOTHESIS. NOT ENOUGH EVIDENCE TO REJECT IT: \n p-value = &quot;, p_value, &quot;\n Alpha = &quot;, a )
  </code></pre>