我已经阅读了很多关于这个主题的帖子,但我还没有找到我的问题的答案。
想要编写一个函数,允许您创建具有不同名称和列的 DF。
所以我试试这个:
def createDT(name,c1,c2,c3):
name = pd.DataFrame(columns = [c1,c2,c3])
print(type(name))
return name
createDT(DT,"col1","col2","col3")
我收到:
NameError: name 'DT' is not defined
当我将“name”变量更改为 String 时,我收到消息:
<class 'pandas.core.frame.DataFrame'>
and the table below
这确认了 DF 的创建,但是如果我想调用 DT 变量,我会得到一个
NameError: name 'DT' is not defined
我知道我可以这样做
DT2 = createDT(DT,"col1","col2","col3")
但是我必须再次命名变量,我想避免这种情况,并且 我希望它被写成一个函数。关于如何解决它的任何想法?
最佳答案
不幸的是,这并不容易:
def createDT(name,c1,c2,c3):
globals()[name] = pd.DataFrame(columns = [c1,c2,c3])
print(type(globals()[name]))
return globals()[name]
createDT("DT","col1","col2","col3")
但首选且有效的解决方案是:
def createDT(name,c1,c2,c3):
return pd.DataFrame(columns = [c1,c2,c3])
createDT("col1","col2","col3")
关于python - 在python中从字符串创建变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57180343/