【发布时间】:2021-02-01 11:42:02
【问题描述】:
我在 python 中使用 exec() 函数来动态命名数据帧(for 循环的每次运行都使用不同的名称)。这是我的代码:
exec(inputs[5] + " = pd.DataFrame(index=range(a), columns=['column1', 'column2', 'column3'])")
但是,我收到以下错误:
File "<string>", line 1, in <module>
NameError: name 'pd' is not defined
我猜这可能是 exec 函数以某种方式无法获取 pandas 包的问题,即使我已经使用它导入了它
import pandas as pd
请帮忙。谢谢。
【问题讨论】:
-
“我在 python 中使用 exec() 函数来动态命名数据帧(for 循环的每次运行都使用不同的名称)。”不要那样做。
-
动态创建变量只能在全局范围内起作用,在局部范围内不起作用。但是,在这种情况下不应发生此错误,除非您没有向我们展示某些内容。请提供minimal reproducible example。但说真的,你不应该这样做开始