我想计算一个数据帧的平均值和中值,所以我把它们放在一个列表中,如下所示:
comb_methods = ['median','mean']
我使用循环和eval函数使函数可调用,并计算结果并将其作为新列添加到数据帧中
for combin in comb_methods:
combination = eval(combin)
heartdata[combin] = heartdata.combination(axis=1)
我得到以下错误
name 'median' is not defined
我试图理解为什么这会发生几个小时,但我不明白
Tags:
您需要使用
getattr
而不是eval
:getattr
查找名称为字符串的给定对象的属性。书写返回
heartdata.median
(然后用axis=1
参数调用该方法)另一方面
eval
只计算传递给它的任何字符串。所以与在Python脚本上简单地键入
median
(不带引号)相同。Python将相信median
是一个变量,当它找不到所述变量时,将抛出您看到的错误相关问题 更多 >
编程相关推荐