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

Python Pandas入門:CategoricalIndexから指定したカテゴリを削除する方法

CategoricalIndexから特定のカテゴリを削除するには、Pandasのremove_categories()メソッドを使用します。このメソッドを使うと、指定したカテゴリがインデックスから取り除かれ、それらのカテゴリに属していた値は自動的にNaN(欠損値)に置き換えられます。

必要なライブラリのインポート

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

import pandas as pd

CategoricalIndexの作成

「categories」パラメータを使用してカテゴリカルデータのカテゴリを設定し、「ordered」パラメータを使用して順序付きのカテゴリカルとして扱います。

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

remove_categories()でカテゴリを削除する

remove_categories()メソッドを呼び出し、削除したいカテゴリを引数として渡します。削除されたカテゴリに属していた値は、すべてNaNに設定されます。

print("\n指定したカテゴリを削除した後のCategoricalIndex...\n",
catIndex.remove_categories(["p", "q"]))

サンプルコード(完全な例)

以下に全体のコードを示します。

import pandas as pd

# 「categories」パラメータでカテゴリを設定
# 「ordered」パラメータで順序付きカテゴリとして扱う
catIndex = pd.CategoricalIndex(["p", "q", "r", "s", "p", "q", "r", "s"], ordered=True, categories=["p", "q", "r", "s"])

# CategoricalIndexを表示
print("CategoricalIndex...\n", catIndex)

# カテゴリを取得して表示
print("\nCategoricalIndexのカテゴリ一覧...\n", catIndex.categories)

# remove_categories()でカテゴリを削除
# 削除対象のカテゴリを引数に指定する
# 削除されたカテゴリの値はNaNになる
print("\n指定したカテゴリを削除した後のCategoricalIndex...\n",
catIndex.remove_categories(["p", "q"]))

実行結果

上記のコードを実行すると、以下の出力が得られます。

CategoricalIndex...
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')

CategoricalIndex after removing specified categories...
CategoricalIndex([nan, nan, 'r', 's', nan, nan, 'r', 's'], categories=['r', 's'], ordered=True, dtype='category')

ポイントまとめ

  • remove_categories()は、CategoricalIndexやCategoricalオブジェクトから不要なカテゴリを取り除くためのメソッドです。
  • 削除対象のカテゴリはリスト形式で複数指定できます。
  • 削除されたカテゴリに該当するデータは失われるのではなく、NaNに置き換えられるため、元のデータ構造(要素数)は保持されます。
  1. Python Pandas入門:Timedeltaを指定した解像度で丸める方法

    PythonのPandasライブラリで、Timedelta(時間差)を指定した解像度に丸めたい場合は、timestamp.round()メソッドを使用します。丸めの精度(解像度)は、freqパラメータで自由に設定できます。 Timedeltaを丸める基本的な手順 1. 必要なライブラリをインポートする まず、pandasをインポートします。 import pandas as pd 2. Timedeltaオブジェクトを作成する 次に、日・時・分・秒・ミリ秒・ナノ秒を含むTimedeltaオブジェクトを作成します。 timedelta = pd.Timedelta(2 days 10 hours

  2. Python Pandas – Timedeltaオブジェクトから秒の値を取得する方法

    Timedeltaオブジェクトから秒の値を取得するには、timedelta.seconds プロパティを使用します。この記事では、実際のコード例とともに、その使い方を詳しく解説します。必要なライブラリのインポートまず、pandasライブラリをインポートします。import pandas as pdTimedeltaオブジェクトとはTimeDeltasは、Pythonの標準datetimeライブラリにおける時間差(timedelta)を表すデータ型です。Pandasでは pd.Timedelta() を使って簡単に作成できます。ここでは、「10秒・15ミリ秒・33ナノ秒」のTimedeltaオブ