背景
在处理数据的时候,碰到了一个问题,就是取整方式!比如给定一个数值型列表,我需要分别获取它位置为长度的0%,25%,50%,75%,100%处的几个数字。但Python自带的int
是向下取整,如果数字长度是5,理论上这五个数字分别对应0%,25%,50%,75%,100%的位置,但使用int
,结果却并不是入次。比如当5*0.75
时,如果加上int(5*0.75)
,就等于3
,而我想要的应该是4,显然不是我想要的,所以这里需要用到向上取整方式。因此,顺便总结了一下Python的几种取整方式。
取整方式
下面介绍几种常用的取整方法,包括向下取整、四舍五入、向上取整。
(1)向下取整
向下取整很简单,直接使用int()函数即可,如下代码(Python 2.7.5 IDLE)
>>> a = 3.75
>>> int(a)
3
(2)四舍五入
第二种就是对数字进行四舍五入,具体的看下面的代码:
>>> a=3.25;b=3.75
>>> round(a);round(b)
3.0
4.0
(3)向上取整
但三种,就是向上取整,也就是我这次数据处理中需要的,由于之前没在Python中用到过,所以不太熟悉,其实Python的math中就带了向上取整的函数,即ceil
方法,专门用于向上取整,实例如下:
>>> import math
>>> math.ceil(3.25)
4.0
>>> math.ceil(3.75)
4.0
好了,取整方式,大概就是这三种,介绍到此吧!