Я попытался преобразовать строку в список, а затем в массив, который, кажется, делает свое дело:
import numpy as np
import ast
string="[['9.5820988666217111e-001','1.8364288924172481e-002','2.8547603401192861e-001','-1.0076250938522580e+001'],['-1.7086800960614995e-001','-7.6361969781499617e-001','6.2264683441110236e-001','-4.5906868751556480e+001'],['2.2942958919045936e-001','-6.4540507435349748e-001','-7.2857007460000278e-001','2.1664174288937179e+001'],['0.0000000000000000e+000','0.0000000000000000e+000','0.0000000000000000e+000','1.0000000000000000e+000']]"
c=ast.literal_eval(string)
, а затем
cc=np.array(c).astype(float)
Таким образом, я сейчасесть массив чисел с плавающей точкой И теперь я могу определить
d=[0,0,0,1]
prod=np.multiply(cc,d)
, получив
>>> prod
array([[ 0. , 0. , 0. , -10.07625094],
[ -0. , -0. , 0. , -45.90686875],
[ 0. , -0. , -0. , 21.66417429],
[ 0. , 0. , 0. , 1. ]])
Я хотел получить координаты XYZ из этой матрицы 4x4
coor=[prod[0,3],prod[1,3],prod[2,3]]
Теперь у меня есть
>>> coor
[-10.07625093852258, -45.90686875155648, 21.664174288937179]
Так что, в любом случае, только для записей, я публикую это решение.Возможно, кто-то может показать мне лучший способ.В любом случае, спасибо.