This works p_table.apply(pd.Series.round)
however it has no decimal places
Documentation says
import pandas as pd Series.round(decimals=0, out=None)
i tried this p_table.apply(pd.Series.round(2))
but get this error:
unbound method round() must be called with Series instance as first argument (got int instance instead)
How do I round all elements in the data frame to two decimal places?
[EDIT] Figured it out.
import numpy as np np.round(p_table, decimals=2)
In Python, to print 2 decimal places we will use str. format() with “{:. 2f}” as string and float as a number. Call print and it will print the float with 2 decimal places.
Round() Round() is a built-in function available with python. It will return you a float number that will be rounded to the decimal places which are given as input. If the decimal places to be rounded are not specified, it is considered as 0, and it will round to the nearest integer.
Since 0.17.0
version you can do .round(n)
df.round(2) 0 1 2 3 0 0.06 0.67 0.77 0.71 1 0.80 0.56 0.97 0.15 2 0.03 0.59 0.11 0.95 3 0.33 0.19 0.46 0.92 df 0 1 2 3 0 0.057116 0.669422 0.767117 0.708115 1 0.796867 0.557761 0.965837 0.147157 2 0.029647 0.593893 0.114066 0.950810 3 0.325707 0.193619 0.457812 0.920403
import numpy as np np.round(p_table, decimals=2)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With