TypeError: 'decimals' is an invalid keyword argument for round()
时间: 2024-03-07 13:49:09 浏览: 195
Python通过for循环理解迭代器和生成器实例详解
这个错误提示是因为 `round()` 函数并不支持 `decimals` 参数,这个参数是 `numpy` 库中的 `around()` 函数所支持的。
如果你想使用 Python 自带的 `round()` 函数进行四舍五入,可以先将 `numpy.ndarray` 转换为 Python 内置的数据类型,例如 `list` 或 `tuple`,然后再使用 `round()` 函数。例如:
```python
import numpy as np
arr = np.array([1.234, 2.345, 3.456])
rounded_arr = round(tuple(arr), 2)
```
这里使用了 `tuple()` 函数将 `numpy.ndarray` 转换为元组类型,然后再使用 `round()` 函数对元组中的每个元素进行四舍五入。如果要得到列表类型的结果,可以将 `tuple` 转换为 `list`,例如:
```python
rounded_arr = list(round(tuple(arr), 2))
```
需要注意的是,这种方法只适用于小型数组,如果数组过大,转换为 Python 内置数据类型可能会导致性能问题。
阅读全文