python - ValueError:无法将字符串转换为浮点数:'[0.0267469, 0.0272395, 0.0268747]'
问题描述
我尝试这样的代码:
import pandas as pd
import numpy as np
test_data='train.csv'
csv_reader = pd.read_csv(test_data)
x_list = csv_reader[['spectra']]
x_list = np.array(x_list)
x = [float(o) for o in x_list[0]]
y_list = csv_reader[['molecule']]
然后我得到这个:
Traceback (most recent call last):
File "D:/Users/11825/source/repos/deep/shiyishi.py", line 16, in <module>
x = [float(o) for o in x_list[0]]
File "D:/Users/11825/source/repos/deep/shiyishi.py", line 16, in <listcomp>
x = [float(o) for o in x_list[0]]
ValueError: could not convert string to float: '[0.0267469, 0.0272395,
0.0268747, 0.0267555]'
这是数据的图片:
我怎样才能保存它?
解决方案
保存和加载数据框后,存储在列spectra
中的列表实际上存储为字符串。
这样做后立即尝试read_csv
:
import ast
csv_reader['spectra'].apply(ast.literal_eval)
csv_reader['molecule'].apply(ast.literal_eval)
推荐阅读
- wordpress - FacetWP,从今天开始查询
- c++ - 理解 Node.js 的 napi_value 类型的定义
- java - 有人可以解释下面的代码是如何工作的
- mysql - mysql not using index on simple OR condition
- sass - 使用颜色对象时,SASS 功能变暗和变亮不起作用
- python - Pandas:按两个参数分组并按第三个参数排序
- keycloak - 在后端 API 前使用 Keycloak Gatekeeper
- php - 此路由不支持 DELETE 方法。支持的方法:GET、HEAD、POST。在 laravel 中
- python - 将 pandas 操作应用于所有字典键
- android - 我无法根据需要调整列大小