繁体   English   中英

numpy 数组 eval 表示公式

[英]numpy array eval representation formula

我想用 np 数组评估符号表达式

例子:

import numpy as np
a = np.array([1]*4)
b = np.array([2]*4)
res = repr(a) + ' + ' + repr(b)
value = eval(res)

错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name 'array' is not defined

我有一个解决方法,但我会知道我是否可以解决我最初的问题

通过带有字典的字符串输入在带有 numpy 数组的stackoverflow Python eval 函数上找到的解决方法

formula = 'x+y'
res = eval(formula,{'x':a, 'y':b})

编辑:

为了解决问题,在导入模块中添加数组定义

from numpy import array

表示形式为: array([1, 1, 1, 1]) 所以我们需要导入一个array定义。 所以以下应该工作:

from numpy import array
a = array([1] * 4)
b = array([2] * 4)
res = repr(a) + ' + ' + repr(b)
eval(res)

结果:

array([3, 3, 3, 3])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM