python 中的各种小数点后的精度处理方式

目前用过最方便的: %

例如:result为一个list,为result中每个值保留小数点后4位。 


 result = [("%.4f" % i) for i in result]
  1. Python 3.X对于浮点数默认提供17位数字的精度。
  2. 关于单精度和双精度:
    单精度型float
    双精度型double。在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。

format

"{0:.2f}".format(12345.67890)
result: '12345.68'

函数 round ceil floor

a. round(num,x)
如果只有一个数作为参数round(num),返回一个最靠近的整数。如果出现.5,两边的距离都一样,round()取偶数。

round(3.245)
3
round(3.545)
4

如果有两位参数,则第二位为位数控制,如果最后一位是5,那么倒数第二位是奇数:舍弃,是偶数:进一。

>>> round(3.235, 2)#5前是3,5舍弃
3.23
>>> round(3.245, 2)#5前面是4,4进一=5
3.25

b. math模块的ceil(x)
取大于等于x的最小整数。
c. math模块的floor(x)
取小于等于x的最大整数。

numpy

可以通过 np.set_printoptions 函数实现打印出来的位数控制。

参数: 
precision 控制输出精度, 
linewidth 控制输出宽度。 
e.g 
np.set_printoptions(linewidth=90)

Pandas

控制台打印时显示的2位小数:

pd.set_option('precision', 2) 

或者整体

df.round(2)

你可能感兴趣的:(python,数据分析)