Попытка запустить scipy.stats.pearsonr
с двумя списками Decimal
делает scipy
несчастным:scipy.stats.pearsonr со списками Decimals?
print type(signals)
print type(signals[0])
print type(prices)
print type(prices[0])
<type 'list'>
<class 'decimal.Decimal'>
<type 'list'>
<class 'decimal.Decimal'>
correlation = stats.pearsonr(signals, prices)
Traceback (most recent call last):
File "commod.py", line 74, in <module>
main()
File "commod.py", line 69, in main
correlation = stats.pearsonr(signals, prices)
File "/home/.../venv/local/lib/python2.7/site-packages/scipy/stats/stats.py", line 2445, in pearsonr
t_squared = r*r * (df/((1.0 - r) * (1.0 + r)))
TypeError: unsupported operand type(s) for -: 'float' and 'Decimal'
Любой запустить в решение для этого?
Конвертировать все в 'float'? – NPE
Вот что я делаю сейчас, но я бы хотел этого избежать, поскольку я работаю с данными о ценах, которые (я считаю) всегда следует рассматривать в точном формате, таком как 'Десятичный' –