#!/usr/bin/env python # coding: utf-8 # # p-values from n-sigma and vice versa # In[26]: import scipy.stats as st # In[36]: # define p-value p = 0.0456 # In[37]: # calculate number of standard deviations (n-sigma) from p-value # one-tailed n_sigma_one_tailed = st.norm.ppf(1-p) # two-tailed n_sigma_two_tailed = st.norm.ppf(1-p/2.) print(f" p-value = {p}, n_sigma_one_tailed = {n_sigma_one_tailed:.4f}, n_sigma_two_tailed = {n_sigma_two_tailed:.4f}") # In[43]: # p-value from number of standard deviations (n-sigma) n_sigma = 5 # one-tailed p_value_one_tailed = 1 - st.norm.cdf(n_sigma) # two-tailed p_value_two_tailed = 2. * (1 - st.norm.cdf(n_sigma)) print(f" n-sigma = {n_sigma}, p_value_one_tailed = {p_value_one_tailed:.2g}, p_value_two_tailed = {p_value_two_tailed:.2g}") # In[48]: for nsigma in [1, 2, 3, 4, 5]: p_value_one_tailed = 1 - st.norm.cdf(nsigma) print(f"{nsigma} {p_value_one_tailed:.2g}") # In[ ]: