Pandas automatically rounds GWAS P-value I am working with a specific GWAS.  If I were to run this on the command line

grep &lt;rs_id_of_interest&gt; GWAS.txt


I would see the GWAS p-value to be on the order of 10^-200. Very tiny p-value.

However, if I were to do the same but in pandas, with the following code, 

gwas = pd.read_csv(GWAS_file,sep='\t')
gwas_rs_id = gwas.loc[gwas['marker'] == 'rs_id'].copy()


and then print gwas_rs_id, it shows the gwas p-value to be 0.0. Is there a way to read the file and not have it automatically round the tiny tiny p-values?

Thanks!
The solution you likely want is here,

pd.set_eng_float_format(accuracy=x, use_eng_prefix=True)


x = whatever is required
The function set_eng_float_format has been moved around a bit and is now a top level function



You might be dealing with maximum likelihood, so convert to log likelihood -200 that sort of thing

Best idea

gwas_rs_id['logged'] = np.log(gwas_rs_id.marker)


First idea,

import decimal as D
.... 
gwas_rs_id['marker'] = gwas_rs_id['marker'].astype(D.decimal)


Last attempt,

pd.set_option('display.precision', x) # x whatever dp you need, this might work in combination with a log likelihood


Try a gwas_rs_id.dtype() check whether you're using float32, float64 or still in object. It should convert to scientific notion (E values) automatically.