下午好,
我想使用round half up函数将数据框中的列四舍五入到x个位置,以确保任何0.5值始终按照传统的舍入规则四舍五入,并避免“银行家四舍五入”问题。
我拥有的数据框示例是:
import pandas as pd
import decimal
Data = {'Code' : ['x', 'x', 'x'],
'Disaggregation' : ['a', 'b', 'Total'],
'Numerator' : [19.3276542, 82.136492834, 101.192747123]}
Data = pd.DataFrame(Data, columns = ['Code', 'Disaggregation', 'Numerator'])
我得到的代码不起作用,如下所示:
Data['Numerator'] = (Decimal(Data['Numerator']).quantize(Decimal('.1'), rounding=ROUND_HALF_UP))
产生以下错误:不支持从系列到小数的转换。
数据框的 Dtypes 是:
Code object
Disaggregation object
Numerator float64
dtype: object
任何人都有任何线索我怎样才能让它工作?(当然数据框要大得多,因此我需要在列上工作)。
非常感谢您提前为此提供的帮助。