我正在尝试使用带有公式的statsmodel线性回归函数。我的样本数据来自Pandas数据框。我在公式中的列名称有轻微问题。由于下游进程,我的列名称中有连字符。例如:
export const fetchActionCreator = ({ types, url, fetchOptions, dataKey }) => dispatch => {
const actions = typesToActionCreators(types);
dispatch(clientRequest());
let mock_Response = [key="A",value="xyz"];
return axios.get(url, fetchOptions)
.then(response => response.data,
error => console.log('an error occoured ' + error))
.then(data => {
console.log('time Before ' + new Date());
setTimeout(() => { dispatch(actions.success(mock_Response, dataKey)) }, 4000);
console.log('time After ' + new Date());
});
};
function typeToActionCreator(type) {
return typeof type === 'function' ? type : (payload, dataKey) => ({ type, payload, dataKey });
}
function typesToActionCreators(types) {
const [request, success, failure] = types.map(typeToActionCreator);
return { request, success, failure };
}
现在,保持连字符的原因之一是它允许python将字符串拆分以进行其他分析,因此我必须保留它。正如您所看到的,当我想使用+------+-------+-------+
+ VOLT + B-NN + B-IDW +
+------+-------+-------+
使用B-NN回归VOLT时,我遇到了一个问题,因为patsy公式无法找到B.
有没有办法告诉Patsy B-NN 是变量名而不是B减去NN?
感谢。
BJR
答案 0 :(得分:1)
patsy使用Q
来引用姓名,例如Q('B-IDW')
http://patsy.readthedocs.io/en/latest/builtins-reference.html#patsy.builtins.Q
my_fit_function("y ~ Q('weight.in.kg')", ...)