pandas astype类别不起作用

我厌倦了使用
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()的正确方法?

最佳答案 您现在需要通过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']))
点赞