我厌倦了使用
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']))