尝试动态命名并稍后将数据帧名称作为变量引用,得到错误'SyntaxError:无法分配给函数调用'

时间:2017-05-05 03:35:34

标签: python pandas

#define list of fields to run match for

fieldlist = ['MATTER NUMBER','MATTER NAME','CLAIM NUMBER LISTING']

#loop through each field in fieldlist
for field in fieldlist:
    #define dfname as the field with spaces replaced with underscores
    dfname = '{}'.format(field.replace(' ','_'))
    #create df with dfname
    '{}'.format(dfname) = checkdf['{}'.format(field)].dropna()

错误在最后一行。我也尝试过:

'{}'.format(dfname) = checkdf['{}'.format(field)].dropna()

编辑:道歉,如果这令人困惑。我正在尝试从checkdf中创建与fieldlist中的每个字段关联的数据框名称和列。 checkdf是一个现有的数据框,包含fieldlist中列出的列。我试图使用format函数在最后一行输入数据帧名称(dfname)和列名(字段)。 例如,我希望python将第一个循环读为:

dfname = MATTER_NUMBER
MATTER_NUMBER = checkdf['MATTER_NUMBER']

1 个答案:

答案 0 :(得分:-1)

你不能为'{}'.format(dfname)赋予一个新值它是什么(你无法通过=为函数的每个可能输入修改函数返回的内容),一个函数调用返回一个字符串。更改最后一行=之前的部分:

'{}'.format(dfname) = checkdf['{}'.format(field)].dropna()

我不确定你在这里做什么,所以我无法帮助你。

修改:你可能想要:

dfname = checkdf['{}'.format(field)].dropna()

在最后一行。