与numpy一起舍入到最接近的5

时间:2018-03-14 15:33:06

标签: python pandas

df
        A
0  503.36
1  509.80
2  612.31
3  614.29

我希望在新的 B列中舍入到最接近的5,如果可能的话,使用numpy

输出应为:

        A        B
0  503.36   505.00
1  509.80   510.00
2  612.31   610.00
3  614.29   615.00

3 个答案:

答案 0 :(得分:6)

您提到numpy

np.around(df.A.values/5, decimals=0)*5
Out[31]: array([505., 510., 610., 615.])

答案 1 :(得分:4)

您可以使用:

df['B'] = df.div(5).round(0) * 5

或者@piRSquared说:

df['B'] = df['A'].mul(2).round(-1).div(2)

输出:

        A      B
0  503.36  505.0
1  509.80  510.0
2  612.31  610.0
3  614.29  615.0

答案 2 :(得分:3)

df.assign(B=df.mul(2).round(-1).div(2))

        A      B
0  503.36  505.0
1  509.80  510.0
2  612.31  610.0
3  614.29  615.0