【发布时间】:2013-10-23 15:13:29
【问题描述】:
我有一个如下所示的 numpy 数组:
[[41.743617 -87.626839]
[41.936943 -87.669838]
[41.962665 -87.65571899999999]]
我想将数组中的数字四舍五入到小数点后两位或三位。我尝试使用 numpy.around 和 numpy.round,但它们都给了我以下错误:
File "/Library/Python/2.7/site-packages/numpy-1.8.0.dev_3084618_20130514-py2.7-macosx-10.8-intel.egg/numpy/core/fromnumeric.py", line 2452, in round_
return round(decimals, out)
AttributeError: rint
我用过numpy.around(x, decimals = 2)
和numpy.round(x,decimals=2)
我做错了吗?对于大型数组,还有其他方法可以有效地做到这一点吗?
【问题讨论】:
-
编写一个函数,乘以 100(或 1000),四舍五入,然后除以 100(或 1000)
-
在我的机器上运行 Python 2.7,您的代码运行良好。你能举一个更完整的例子来说明你遇到的错误吗?
-
该数组有两列和大约 500k 行。我没有做任何额外的事情
-
您发布的数据结构是列表列表,而不是 numpy 数组。您可以发布
print your_array时实际打印的内容吗?这将有助于我们理解数组的dtype。 -
数组的dtype是"object"