Python Pandas CategoricalIndex – カテゴリコードを取得する方法
Pandas の CategoricalIndex からカテゴリコードを取得するには、codes プロパティを使用します。codes プロパティは、実際の値が categories 配列の中でどの位置にあるかを示す整数値の配列を返します。
必要なライブラリのインポート
まず、必要なライブラリをインポートします。
import pandas as pd
CategoricalIndex の作成
CategoricalIndex は、限られた(通常は固定された)数の取り得る値、つまり「カテゴリ」のみを持つことができます。categories パラメータを使ってカテゴリを設定し、ordered パラメータを使ってカテゴリを順序付きとして扱うことができます。
以下のコードでは、カテゴリとして「p」「q」「r」「s」を設定し、順序付きの CategoricalIndex を作成しています。
catIndex = pd.CategoricalIndex(["p", "q", "r", "s","p", "q", "r", "s"], ordered=True, categories=["p", "q", "r", "s"])
CategoricalIndex の表示とカテゴリコードの取得
作成した CategoricalIndex を表示します。
print("Categorical Index...\n",catIndex)次に、codes プロパティを使ってカテゴリコードを取得します。各値がカテゴリ配列内のどの位置に対応するかが整数値として出力されます。
print("\nCategory codes from CategoricalIndex...\n",catIndex.codes)完全なサンプルコード
以下は、ここまでの処理をまとめた完全なコード例です。
import pandas as pd
# CategoricalIndex は限られた数の可能な値(カテゴリ)のみを取ることができる
# categories パラメータでカテゴリを設定
# ordered パラメータで順序付きとして扱う
# codes は実際の値が categories 配列内のどの位置にあるかを示す整数の配列
catIndex = pd.CategoricalIndex(["p", "q", "r", "s","p", "q", "r", "s"], ordered=True, categories=["p", "q", "r", "s"])
# CategoricalIndex を表示
print("Categorical Index...\n",catIndex)
# カテゴリを表示
print("\nDisplayingCategories from CategoricalIndex...\n",catIndex.categories)
# カテゴリコードを取得
print("\nCategory codes from CategoricalIndex...\n",catIndex.codes)実行結果
上記のコードを実行すると、以下のような出力が得られます。
Categorical Index... CategoricalIndex(['p', 'q', 'r', 's', 'p', 'q', 'r', 's'], categories=['p', 'q', 'r', 's'], ordered=True, dtype='category') DisplayingCategories from CategoricalIndex... Index(['p', 'q', 'r', 's'], dtype='object') Category codes from CategoricalIndex... [0 1 2 3 0 1 2 3]
まとめ
このように、CategoricalIndex の codes プロパティを使うことで、各要素がカテゴリ配列の何番目に相当するかを表す整数配列を簡単に取得できます。出力結果を見ると、「p」は 0、「q」は 1、「r」は 2、「s」は 3 というコードに対応していることがわかります。カテゴリデータを数値として扱いたい場合や、機械学習の前処理などでエンコーディングを行いたい場合に非常に便利な機能です。
-
Python Pandas – Periodオブジェクトの時刻コンポーネントから「分」を取得する方法
はじめにPandasのPeriod(期間)オブジェクトが持つ時刻コンポーネントから「分」の値を取得したい場合は、period.minuteプロパティを使用します。まずは、必要なライブラリをインポートしましょう。import pandas as pdpandas.Periodは、特定の時点や期間を表すオブジェクトです。ここでは、2つのPeriodオブジェクトを作成してみます。1つ目は日時文字列から、2つ目は頻度(freq)と各日時要素を個別に指定して生成しています。period1 = pd.Period("2020-09-23 05:55:30") period2 = pd.
-
Python Pandas入門:Periodオブジェクトから時間(hour)コンポーネントを取得する方法
PythonのPandasライブラリでは、Periodオブジェクトが持つ「時刻(何時)」の情報を取得するために、period.hourプロパティを使用します。この記事では、具体的なサンプルコードとともにその使い方を解説します。必要なライブラリのインポートまず、Pandasをインポートします。import pandas as pdPeriodオブジェクトの作成pandas.Periodは、特定の時点や期間を表すクラスです。文字列から作成する方法と、年・月・日・時刻などを個別に指定して作成する方法があります。ここでは2つのPeriodオブジェクトを作成してみましょう。# 日時文字列からPeriod