gpt4 book ai didi

python - 使用 pandas pd.cut 生成带有 statsmodels 的分类变量

转载 作者:行者123 更新时间:2023-11-28 16:35:32 25 4
gpt4 key购买 nike

我尝试使用 pd.cut 从连续变量创建分类变量。我想在随后的 statsmodel 定义的回归中使用它,包括这个虚拟变量。当我创建以这种方式创建的分类变量时,出现错误

TypeError: data type not understood.    

下面包含一个测试用例。

import numpy as np
import pandas as pd
import statsmodels as sm
import statsmodels.formula.api as smf
df = pd.DataFrame(np.random.randn(6,4))
df.columns = ['A', 'B', 'C', 'D']
df['ttt']=pd.cut(df['D'], bins=2)
test = smf.ols('A ~ B + ttt', data=df).fit()

我确定我做错了一些明显的错误。任何帮助将不胜感激。

最佳答案

我不确定 statsmodels 在 pandas 中包含对新 Categorical 类型的支持方面的确切位置。目前,您可能必须将分类转换回对象类型才能正常工作(请检查生成的 ols 拟合是否合理,我不知道您要做什么的全部细节):

df['ttt_fixed'] = df.ttt.astype(np.object)
test = smf.ols('A ~ B + ttt_fixed', data=df).fit()
test.summary()

关于python - 使用 pandas pd.cut 生成带有 statsmodels 的分类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26879295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com