python - 在python中从字符串创建变量

标签 python pandas function dataframe variables

我已经阅读了很多关于这个主题的帖子,但我还没有找到我的问题的答案。

想要编写一个函数,允许您创建具有不同名称和列的 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/

相关文章:

python - 如何在非常大的 torch 张量上执行操作而不拆分它们

python - 使用多个 boolean 列过滤 Pandas 数据框

c - 指针作为函数参数的麻烦

python - 如何使用 Python LXML Objectify 创建相同的 XML 元素 3 次

python - Python 中基于类的装饰器 - 哪个 PEP 定义语法和语义?

python - 如何多次复制Dataframe中的列?

python - 为什么在分配 None 时会创建一个副本?

function - 方案中的简单高阶函数

excel - 如何在vba引用库中查找函数

python - 如何让 PyScripter 中的类型指示器显示在我单击的行的末尾?