У меня есть набор цифр, который может быть очень маленьким: от 1e-100
, до 1e-700
и ниже. Точность не имеет значения, как показатель. Я могу загрузить такие цифры просто с помощью Pandas, просто предоставив Decimal
в качестве конвертера для всех таких числовых столбцов.Высокие номера экспонентов с функциями scipy.stats
Проблема в том, что даже если я использую Python Decimal
, я просто не могу использовать scipy.stats.chi2.isf
и подобные функции, так как их код C явно использует double
. Возможным обходным путем является то, что я могу использовать log10 чисел. Проблема здесь в том, что, хотя есть функция logsf
, для chi2
она реализована как log(sf(...))
и поэтому не сработает, когда sf
вернет 0, где он должен был вернуть что-то вроде 1e-600
. А для isf
такой функции журнала вообще нет.
Я хотел знать, есть ли способ работать с такими числами, не решая сам написать все эти функции для десятичного.