变量带有连字符时的 Patsy 公式

Bil*_*ler 1 python statsmodels patsy

我正在尝试将 statsmodel 线性回归函数与公式一起使用。我的示例数据来自 Pandas 数据框。我在公式中的列名有一个小问题。由于下游过程,我的列名中有连字符。例如:

+------+-------+-------+
+ VOLT +  B-NN + B-IDW +
+------+-------+-------+
Run Code Online (Sandbox Code Playgroud)

现在,保留连字符的原因之一是它允许 python 拆分字符串以进行其他分析,所以我必须保留它。如您所见,当我想使用 B-NN 回归 VOLT 时VOLT ~ B-NN,我遇到了一个问题,因为 patsy 公式找不到 B。

有没有办法告诉 Patsy B-NN是一个变量名而不是 B 减去 NN?

谢谢。

京津冀

Jos*_*sef 5

patsyQ用于引用名称,例如Q('B-IDW')

http://patsy.readthedocs.io/en/latest/builtins-reference.html#patsy.builtins.Q

my_fit_function("y ~ Q('weight.in.kg')", ...)
Run Code Online (Sandbox Code Playgroud)