首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python patsy中的分组因子

python patsy中的分组因子
EN

Stack Overflow用户
提问于 2015-10-09 05:51:54
回答 1查看 149关注 0票数 0

这是this older SO question的一个扩展,但不是R,而是python。我也认为这个解决方案不是最好的。

假设我有这样的数据...

代码语言:javascript
复制
State   Y
AL      5
AK      10
AZ      8

我想写一个patsy公式来将State转换为Region,然后使用statsmodel来使用Region进行预测。所以这张桌子看起来像..。

代码语言:javascript
复制
State   Region    Y
AL      Southeast 5
AK      Northwest 10
AZ      Southwest 8

我希望有一个类似如下的函数:

代码语言:javascript
复制
model = sm.OLS('Y ~ C(State, StateToRegionGrouping)').fit()

我认为有两种方法。首先,在原始数据上添加一个查找列,或者编写一个分类转换函数,以供patsy处理。

哪种方法更好,如果patsy分类转换器更好,什么是编写它的好方法?

EN

回答 1

Stack Overflow用户

发布于 2015-10-09 14:15:29

保持简单,只需使用字典映射:

代码语言:javascript
复制
import statsmodels.formula.api as smf

mapping = {'AL': 'Southeast',
           'AK': 'Northwest',
           'AZ': 'Southwest'}

df = pd.DataFrame({'State': ['AL', 'AK', 'AZ'], 'Y': [5, 10, 8]})
df['Region'] = df.State.map(mapping)

>>> df
  State   Y     Region
0    AL   5  Southeast
1    AK  10  Northwest
2    AZ   8  Southwest

model = smf.ols('Y ~ Region', data=df).fit()    
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33026553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档