Python - 转换数组中的列表

时间:2015-09-15 15:05:09

标签: python arrays list numpy

我有一个值列表,我想将它转换为数组,以便轻松提取列,但我很尴尬的"不允许使用:" x = np.array(a,dtype = float)"

['"442116.503118","442116.251106"',
     '"442141.502863","442141.247462"',
    ...

获得的信息是: "无法将字符串转换为浮点数:" 442116.503118"," 442116.251106""

2 个答案:

答案 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)

不完全优雅。您需要处理输入数据中的每个嵌套级别。我建议您重新考虑格式化您输入的数据的方式。