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

How to change variables in a matrix in python for an imported .csv matrix?

我正在 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 以便能够取反。

由于每个方程都是文本格式,您可以将它们计算为 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 运算符(**).