カテゴリー型したい(pandas.CategoricalDtype

1data["カラム名"].astype("category")

astypeを使ってcategory型に変換できます。 カテゴリーの値は、カラムに含まれる値から自動で算出されます。 カテゴリー間の順序はありません。

順序ありカテゴリーしたい

1from pandas.api.types import CategoricalDtype
2my_category = CategoricalDtype(categories=[カテゴリーの値], ordered=True)
3
4data["カラム名"] = data["カラム名"].astype(my_category)

カテゴリー型は、数値型と異なり、基本的に値の大小を比較したり、演算だったりができません。 とはいえ、カテゴリーを任意の順番にソートしたいときもあります。 そのようなときはCategoricalDtype``を使います。 詳細はCategorical dataを参照してください。

順序ありのカテゴリー型は、アンケートの回答を処理する場合に便利です。 たとえば、質問の選択肢が “Very Good / Good / Poor / Very Poor” だった場合、 そのままソートするとアルファベット順になってしまいますが、 カテゴリー型に変換しておけば、自分が指定した順番に並べられます。