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
答案 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