pandas-decimal
¶import pandas as pd
import pandas_decimal
s = pd.Series([0.1, 0.1, 0.1], dtype="decimal[1]")
s2 = pd.Series([0.1, 0.1, 0.1])
s2.sum()
s.sum()
import decimal
s = pd.Series([0.1, 0.1, 0.1] * 1000_000, dtype="decimal[1]")
dl = pd.Series([decimal.Decimal(str(_)) for _ in s])
s.sum() == dl.sum()
%timeit s.sum()
%timeit dl.sum()
s.info(memory_usage="deep"), dl.info(memory_usage="deep")
Supports:
s3 = pd.Series([1, 2, 3])
s3.astype("decimal[2]")