pandas属性错误:找不到属性'Factor'

Yan*_*tra 17 python python-2.7 pandas

我正在尝试运行yhat 在他们关于Python中的随机森林的文章中提供的代码,但我不断收到以下错误消息:

File "test_iris_with_rf.py", line 11, in <module>
    df['species'] = pd.Factor(iris.target, iris.target_names)
AttributeError: 'module' object has no attribute 'Factor'
Run Code Online (Sandbox Code Playgroud)

码:

from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier
import pandas as pd
import numpy as np

iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
print df
print iris.target_names
df['is_train'] = np.random.uniform(0, 1, len(df)) <= .75

df['species'] = pd.Factor(iris.target, iris.target_names)

df.head()
Run Code Online (Sandbox Code Playgroud)

Dav*_*son 46

在较新版本的pandas中,Factor会调用它Categorical.将您的行更改为:

df['species'] = pd.Categorical.from_codes(iris.target, iris.target_names)
Run Code Online (Sandbox Code Playgroud)


小智 8

分类变量似乎是熊猫中更活跃的发展领域之一,所以我相信它在熊猫0.15.0中再次发生变化:

df['species'] = pd.Categorical.from_codes(iris.target, iris.target_names)
Run Code Online (Sandbox Code Playgroud)

(我没有足够的声誉将此添加为对David Robinson的回答的评论)