我有一个值列表,我想将它转换为数组,以便轻松提取列,但我很尴尬的"不允许使用:" x = np.array(a,dtype = float)"
['"442116.503118","442116.251106"',
'"442141.502863","442141.247462"',
...
获得的信息是: "无法将字符串转换为浮点数:" 442116.503118"," 442116.251106""
答案 0 :(得分:2)
根据给出的非常有限的信息回答,但如果这是您的列表,它看起来像嵌套字符串列表,而不是浮点数。试试
x = np.array([float(i.replace("\"","")) for i in a], dtype=float)"
答案 1 :(得分:1)
这是错的......但这对我来说很有用:
import numpy as np
wtf = ['"442116.503118","442116.251106"',
'"442141.502863","442141.247462"']
to_list = []
for nest1 in wtf:
nest2 = nest1.split(',')
for each in nest2:
to_list.append(float(each.strip('"')))
to_array = np.asarray(to_list)
不完全优雅。您需要处理输入数据中的每个嵌套级别。我建议您重新考虑格式化您输入的数据的方式。