我厌倦了使用http://pandas.pydata.org/pandas-docs/stable/categorical.html
中的文档将列更改为catgeory
df = pd.DataFrame({'A':[1,2,3,4,5], 'B':['a','b','c','d','e'], 'C':['A','B','A','B','A']})
df['C']=df['C'].astype('category')
如果我尝试传递类别
df['C']=df['C'].astype('category',categories=['A','B'])
错误地说
TypeError: _astype() got an unexpected keyword argument 'categories'
将类别传递给astype()
的正确方法是什么?
答案 0 :(得分:2)
您现在需要通过CategorialDtype传递它,因为astype
方法不再接受它们
from pandas.api.types import CategoricalDtype
df = pd.DataFrame({'A':[1,2,3,4,5], 'B':['a','b','c','d','e'], 'C':['A','B','A','B','A']})
df['C']=df['C'].astype(CategoricalDtype(categories=['A','B']))
答案 1 :(得分:0)
分类作品。
myCategory = ['A','B']
df['C'] = pd.Categorical(df['C'], categories=myCategory, ordered=True)