下午好,
我在下面复制了一段有用的代码,它似乎适用于我的虚拟数据,可惜它不适用于所有值,因为它沿着列数据向下移动。
代码是:
import pandas as pd
from decimal import *
Data['Value'] = Data['Value'].map(lambda x: Decimal(x).quantize(Decimal('0.001'), rounding=ROUND_HALF_UP))
虚拟数据:
Data = {'Code' : ['1', '2', '3','4','5','6'],
'Group' : ['a', 'b','c','d','e','f'],
'Value' : [20.2535, 21.874, 7.6475,101.84556, 209.8625913, 99.7655037]}
Data = pd.DataFrame(Data, columns = ['Code', 'Group', 'Value'])
但是,输出适用于第一个值,而不是向下舍入,而不是向上舍入。这可以解决吗,因为正如他的代码所述,我想四舍五入?
output: Expected:
0 20.253 0 20.254 << This one is incorrect
1 21.874 1 21.874
2 7.647 2 7.648 << This one is incorrect
3 101.846 3 101.846
4 209.863 4 209.863
5 99.766 5 99.766
任何帮助将非常感激。我正在寻找四舍五入到 3.dp,其中所有值都根据 excel 向上舍入一半。
谢谢你。