如何为导入的.csv矩阵更改python矩阵中的变量?

时间:2019-04-15 11:56:01

标签: python maple

我正在python中导入一个.csv文件(从maple导出),该文件的矩阵(10 x 10)中每个元素都有变量。例如:a * b-c在(0,0)中。如何定义a,b和c,以便将这些值传递到矩阵?

在导入.csv矩阵之前,我已经尝试过a = 1,b = 2等,但这是行不通的。

import numpy as np
my_matrix = np.genfromtxt('MyMatrix.csv', dtype='unicode', delimiter=',')

我希望变量可以传递给矩阵,并且矩阵的类型可以是float,以便能够求逆。

1 个答案:

答案 0 :(得分:0)

由于每个方程都是文本格式,因此您可以将它们评估为Python表达式:

import numpy as np
my_matrix = np.genfromtxt('MyMatrix.csv', dtype='unicode', delimiter=',')

a = 1
b = 2
c = 3
my_matrix_eval = np.vectorize(lambda x: np.float64(eval(x)))(my_matrix)

注意:这将按照问题中的要求解决问题。但是,由于您在注释中提供的示例包含一个无效的Python表达式的运算符(^),因此必须将这些字符转换为其相应的Python运算符(**)。