'numpy.float64' object has no attribute 'map'
时间: 2023-06-22 16:41:52 浏览: 316
Can't read "map": no such variable
对于 `numpy.float64` 类型的数组或者 `pandas` 的 `DataFrame` 数据中的 `numpy.float64` 类型列,是没有 `map()` 方法的。这是因为 `map()` 方法是 `pandas.Series` 对象的方法,而 `numpy.float64` 类型的数组或者 `pandas` 的 `DataFrame` 中的某一列数据类型为 `numpy.float64`,并不是 `pandas.Series` 对象。
如果想要将 `numpy.float64` 类型的数据转换成百分比数据类型,可以使用 `numpy` 库中的 `ndarray` 对象的 `vectorize()` 方法来实现。
下面是一个例子,演示了如何将 `numpy.float64` 类型的数组转换成百分比数据类型:
```python
import numpy as np
# 创建一个包含numpy.float类型数据的ndarray
data = np.array([0.1, 0.25, 0.5, 0.75, 1.0])
# 使用vectorize()方法将numpy.float类型数据转换为百分比数据类型,并设置精度为2位小数
percent_data = np.vectorize(lambda x: '{:.2%}'.format(x))(data)
print(type(percent_data))
print(percent_data)
```
输出结果如下:
```
<class 'numpy.ndarray'>
['10.00%' '25.00%' '50.00%' '75.00%' '100.00%']
```
其中,`vectorize()` 方法是 `numpy.ndarray` 对象的方法,接受一个函数作为参数,该函数用于将每个元素从 `numpy.float64` 类型转换为字符串类型。在上面的例子中,我们使用了一个 lambda 表达式来实现这个功能,并调用了 Python 字符串的 `format()` 方法来设置字符串的格式。最后,`vectorize()` 方法返回一个新的 `ndarray` 对象,其中的元素类型为字符串。
阅读全文