Python 属性错误:';分类的';对象没有属性';cat&x27;
在python数据帧中,在将列分配给变量(Python 属性错误:';分类的';对象没有属性';cat&x27;,python,pandas,Python,Pandas,在python数据帧中,在将列分配给变量(y=df.column)后获取类别代码时,给出了属性错误 而如果我们直接将df.column传递到category函数,同样可以正常工作 属性.cat是一个分类存取器,与分类数据类型系列关联: s = pd.Series(['a', 'b', 'a']).astype('category') s
y=df.column
)后获取类别代码时,给出了属性错误
而如果我们直接将df.column
传递到category
函数,同样可以正常工作
属性
.cat
是一个分类存取器,与分类
数据类型系列关联:
s = pd.Series(['a', 'b', 'a']).astype('category')
s
0 a
1 b
2 a
dtype: category
Categories (2, object): [a, b]
s.cat.codes
0 0
1 1
2 0
dtype: int8
OTOH,pd.Category
返回一个pandas.core.array.Category.Category
对象,该对象直接在对象上定义了这些属性:
pd.Categorical(['a', 'b', 'c'])
# [a, b, c]
pd.Categorical(['a', 'b', 'c']) .codes
# array([0, 1, 2], dtype=int8)
请不要将代码添加为图片。查看并创建一个回滚您的编辑,因为它完全混淆了您的帖子。请将图片中的确切代码复制粘贴到您的问题中,或者根本不复制粘贴。打印“y”和“df.c1”似乎都是分类的type@VikashYadav请仔细查看您的代码和图像,它们不能证实。无论如何,我的答案的全部要点是,
df['c1']
是一个系列,而pd.category(…)
(以及您分配给它的任何东西)是一个分类对象。