python - 使用 eval 时如何使用 df.appen
问题描述
j=88.87
我想用 eval 来做这样的事情:
data_88_87=data_88_87.append(data[data['norm']==88.87])
但:
eval('data_'+str(j).replace('.','_'))=eval('data_'+str(j).replace('.','_')).append(data[data['norm']==j])
File "<ipython-input-110-a69e45d994b1>", line 5
eval('data_'+str(j).replace('.','_'))=eval('data_'+str(j).replace('.','_')).append(data[data['norm']==j])
^
SyntaxError: can't assign to function call
eval('data_'+str(c).replace('.','_')+'='+('data_'+str(c).replace('.','_')).append(data[data['norm']==j]))
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-121-64d2b5d27c76> in <module>()
----> 1 eval('data_'+str(c).replace('.','_')+'='+('data_'+str(c).replace('.','_')).append(data[data['norm']==2.98]))
AttributeError: 'str' object has no attribute 'append'
使用 eval 时如何使用 df.appen?
解决方案
您可以按如下方式使用它:
j = 88.87
tempVar = "data_"+str(j).replace('.','_')
globals()[tempVar] = eval(globals()[tempVar]).append(data[data['norm']==88.87])
上面的代码将为您提供以下输出:
data_88_87=data_88_87.append(data[data['norm']==88.87])
推荐阅读
- javascript - 转换文件时超出最大调用堆栈大小
- class - 列表有超过 1 行分配给 SObject
- java - 在 if 语句的条件内调用函数
- mysql - 为什么整数转换不适用于整数 group_concat() 列表?
- python - 为什么更新时套索错误增加?(+评价)
- loops - 在 Ansible 中构建循环
- javascript - 如何引用数组元素作为 .backgroundImage 的目标?
- flutter - 一个接一个地为相同类型的小部件设置动画的更好方法?
- amazon-web-services - 上传文件或发送电子邮件 aws 时出现身份验证错误
- list - Flutter:将列表从一页传递到另一页