我有点问题。 在我的程序中,在Python 3.3中,我制作了一个十进制值列表(x):
[Decimal('646'), Decimal('651'), Decimal('657')]
我想知道使用Numpy的平均值。
所以我写道:
tempArray = numpy.array(x, dtype=np.dtype(decimal.Decimal))
但是我得到了错误:
TypeError: unsupported operand type(s) for /: 'decimal.Decimal' and 'float'
我的代码出了什么问题?
答案 0 :(得分:2)
为什么你需要使用Numpy?这可以通过
轻松完成>>> sum(x)/len(x)
Decimal('651.3333333333333333333333333')
那说,我能够做到
>>> np.array(x).mean()
Decimal('651.3333333333333333333333333')
答案 1 :(得分:1)
以下在Python 2.7上对我来说很好用
import numpy
from decimal import Decimal
x = [Decimal('646'), Decimal('651'), Decimal('657')]
tempArray = numpy.array(x, dtype=numpy.dtype(Decimal))
print numpy.mean(tempArray)