2014-06-26 213 views
0

我有一个情况,我有一个名为Spy%C的列。使用df [“Spy%C”]很容易访问,但是在尝试执行df.Spy%C时出现解析错误。此外,当我尝试使用StatsModels.formula.api对列进行回归时,我也得到一个解析错误以及下面的代码。选择带特殊字符的列

result = sm.ols(formula='Spy%C ~ SpyVol%C', data=df).fit() 
print result.summary() 

处理这个问题的正确格式是什么?

+0

尝试'Q' http://patsy.readthedocs.org/en/v0.2.1/builtins-reference.html#patsy.builtins.Q但我不确定它是否适用于'%'。如果它不起作用,那么你可能需要清理你的名字。 – user333700

+0

看到警告有点[这里](http://pandas.pydata.org/pandas-docs/stable/indexing.html#attribute-access) – Jeff

回答

0

df.Spy%C in python means df.Spy.__mod__(C),对于不是标识符的列,您不能使用该地址模式。所以如果你有一个名为'Syp%C'的列,只需要用df['Syp%C']来解决。