你给的代码报这个错误could not convert string to float: 'vol'
时间: 2023-10-18 17:12:24 浏览: 106
报如下错误
这个错误提示是因为你读取的文件包含了表头,而表头中包含了字符串,无法转换为浮点数。你可以在读取文件时跳过表头,或者在读取时进行判断。以下是两种方法:
1. 跳过表头
```python
import numpy as np
# 读取文件数据,跳过表头
data = []
with open('600000.txt', 'r') as f:
next(f) # 跳过表头
for line in f.readlines():
line = line.strip().split(',')
data.append(float(line[-2])) # 取收盘价
# 计算涨跌幅并转化为[0, 20]之间的整数
data = np.array([(data[i]-data[i-1])/data[i-1] for i in range(1, len(data))])
data = np.round((data + 0.1) * 100).astype(int)
data = np.clip(data, 0, 20) # 防止数据溢出
```
2. 进行判断
```python
import numpy as np
# 读取文件数据,进行判断
data = []
with open('600000.txt', 'r') as f:
for i, line in enumerate(f.readlines()):
if i == 0:
continue # 跳过表头
line = line.strip().split(',')
data.append(float(line[-2])) # 取收盘价
# 计算涨跌幅并转化为[0, 20]之间的整数
data = np.array([(data[i]-data[i-1])/data[i-1] for i in range(1, len(data))])
data = np.round((data + 0.1) * 100).astype(int)
data = np.clip(data, 0, 20) # 防止数据溢出
```
以上两种方法都可以解决该错误。
阅读全文