Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python Pandas入門:CategoricalIndexを使ってカテゴリに基づくインデックスを作成する方法

基礎となるCategorical(カテゴリカル)に基づいてインデックスを作成するには、pandas.CategoricalIndex()メソッドを使用します。この記事では、CategoricalIndexの基本的な使い方から、カテゴリの設定、最小値・最大値の取得までを具体例とともに解説します。

CategoricalIndexとは

CategoricalIndexは、基礎となるCategoricalに基づいたインデックスです。CategoricalIndexが取り得る値は、限られた(通常は固定された)数のみという特徴があります。例えば「性別」や「曜日」のように、取りうる値があらかじめ決まっているデータを扱う際に便利です。

基本的な使い方

まず、必要なライブラリをインポートします。

import pandas as pd

「categories」パラメータを使ってカテゴリカルのカテゴリを設定し、「ordered」パラメータをTrueにすることで、カテゴリを順序付きとして扱えます。

catIndex = pd.CategoricalIndex(
    ["p", "q", "r", "s", "p", "q", "r", "s"], ordered=True, categories=["p", "q", "r", "s"]
)

作成したCategoricalインデックスを表示します。

print("Categorical Index...\n", catIndex)

さらに、.categoriesプロパティにアクセスすることで、設定されているカテゴリの一覧を取得できます。

print("\nDisplaying Categories from CategoricalIndex...\n", catIndex.categories)

サンプルコード

以下に、ここまでの内容をまとめた完全なコードを示します。順序付きカテゴリではmin()メソッドとmax()メソッドを使って、それぞれ最小値と最大値を取得できる点にも注目してください。

import pandas as pd

# CategoricalIndexは、基礎となるCategoricalに基づいたインデックス
# 「categories」パラメータでカテゴリを設定
# 「ordered」パラメータで順序付きとして扱う
catIndex = pd.CategoricalIndex(
    ["p", "q", "r", "s", "p", "q", "r", "s"], ordered=True, categories=["p", "q", "r", "s"]
)

# Categoricalインデックスを表示
print("Categorical Index...\n", catIndex)

# カテゴリを取得
print("\nDisplaying Categories from CategoricalIndex...\n", catIndex.categories)

# 最小値を取得
print("\nMinimum value from CategoricalIndex...\n", catIndex.min())

# 最大値を取得
print("\nMaximum value from CategoricalIndex...\n", catIndex.max())

実行結果

上記のコードを実行すると、次のような出力が得られます。

Categorical Index...
CategoricalIndex(['p', 'q', 'r', 's', 'p', 'q', 'r', 's'], categories=['p', 'q', 'r', 's'], ordered=True, dtype='category')

Displaying Categories from CategoricalIndex...
Index(['p', 'q', 'r', 's'], dtype='object')

Minimum value from CategoricalIndex...
p

Maximum value from CategoricalIndex...
s

まとめ

pandas.CategoricalIndex()を使えば、限られた値のみを持つカテゴリ型のインデックスを簡単に作成できます。ordered=Trueを指定することでカテゴリ間に順序が定義され、min()やmax()といった比較操作も可能になります。カテゴリカルデータを効率的に扱いたい場合は、ぜひ活用してみてください。

  1. Python Pandas入門:index.repeat()でインデックスの要素を繰り返す方法

    Pandasでインデックスの要素を繰り返したい場合は、index.repeat()メソッドを使用します。このメソッドの引数に、各要素を繰り返す回数を指定するだけで、簡単に要素の複製ができます。それでは、まず必要なライブラリをインポートしましょう。 import pandas as pd Pandasインデックスの作成と表示 まずは、Pandasのインデックスを作成します。 index = pd.Index([Car,Bike,Airplane, Ship,Truck,Suburban], name =Transport) 作成したインデックスを表示してみましょう。 print(Pa

  2. 【Python】Pandasでインデックス名を変更する方法 – rename()メソッドの使い方

    Pandasでインデックス名を変更するには、index.rename()メソッドを使用します。まず、必要なライブラリをインポートしましょう。 import pandas as pd 続いて、Pandasのインデックスを作成します。nameパラメータに「Transport」を指定することで、インデックスに名前を付けています。 index = pd.Index(['Car','Bike','Airplane', 'Ship','Truck','Suburban'], name ='Transp