3
pd.cut을 사용하여 연속 변수에서 범주 형 변수를 만들려고했습니다. 나는 더미 변수를 포함하여 후속 통계 모델로 정의 된 회귀 분석에서 이것을 사용하고 싶다. 이 방법으로 생성 된 범주 형 변수를 만들면 오류가 발생합니다.pandas pd.cut을 사용하여 statsmodels을 사용하여 범주 형 변수 생성
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()
분명히 잘못한 것 같습니다. 어떤 도움을 주시면 감사하겠습니다.
팬더 버전은 무엇입니까? 만약 당신이 0.15이면, 최근에야 소개 된 새롭고 향상된 카테고리의 dtypes를 가지고 있고 팬더에 의존하는 statsmodels 같은 다른 라이브러리는 아마도 아직까지 따라 잡지 못했을 것입니다. – Marius
나는 같은 문제가 있으며 팬더 0.15.1을 사용하고 있습니다. pandas의 새로운 카테고리 데이터 유형이 patsy/statsmodels에서 아직 지원되지 않는 것 같습니다. [here] (http://pandas.pydata.org/pandas-docs/stable/categorical.html#categorical-is-not-a-numpy-array) – tsawallis
@Marius의 대답이 저에게 효과적입니다. – tsawallis