假设我有一个字符串列表,我想将其转换为numpy数组。例如我有
A=A=['[1 2 3 4 5 6 7]','[8 9 10 11 12 13 14]']
print(A)
['[1 2 3 4 5 6 7]', '[8 9 10 11 12 13 14]']
我希望输出如下:2 x 7的矩阵
[1 2 3 4 5 6 7;8 9 10 11 12 13 14]
到目前为止,我尝试过以下操作:
m=len(A)
M=[]
for ii in range(m):
temp=A[ii]
temp=temp.strip('[')
temp=temp.strip(']')
M.append(temp)
print(np.asarray(M))
但是我的输出如下:
['1 2 3 4 5 6 7' '8 9 10 11 12 13 14']
谁能帮助我正确删除左右括号并将结果转换为浮点数矩阵。
答案 0 :(得分:1)
只要走直接路线即可。在将结果发送到numpy.array之前,去掉方括号,在空格处分割并转换为float:
np.array([[float(i) for i in j[1:-1].split()] for j in A])
import numpy as np
A = ['[1 2 3 4 5 6 7]','[8 9 10 11 12 13 14]']
print(np.array([[float(i) for i in j[1:-1].split()] for j in A]))
[[ 1. 2. 3. 4. 5. 6. 7.]
[ 8. 9. 10. 11. 12. 13. 14.]]