Pandas でカテゴリ変数を作成する方法 (例付き)


次のいずれかの方法を使用して、pandas でカテゴリカル変数を作成できます。

方法 1: カテゴリ変数を最初から作成する

 df[' cat_variable '] = [' A ', ' B ', ' C ', ' D ']

方法 2: 既存の数値変数からカテゴリ変数を作成する

 df[' cat_variable '] = pd. cut (df[' numeric_variable '],
                            bins=[ 0,15,25 ,float(' Inf ') ] ,
                            labels=[' Bad ', ' OK ', ' Good '])

次の例は、各メソッドを実際に使用する方法を示しています。

例 1: カテゴリ変数を最初から作成する

次のコードは、 teamというカテゴリ変数とPointsという数値変数を使用して pandas DataFrame を作成する方法を示しています。

 import pandas as pd

#create DataFrame with one categorical variable and one numeric variable
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [12, 15, 19, 22, 24, 25, 26, 30]})

#view DataFrame
print (df)

  team points
0 to 12
1 B 15
2 C 19
3 D 22
4 E 24
5 F 25
6 G 26
7:30 a.m.

#view data type of each column in DataFrame
print ( df.dtypes )

team object
int64 dots
dtype:object

df.dtypesを使用すると、DataFrame 内の各変数のデータ型を確認できます。

見える:

  • チーム変数はオブジェクトです。
  • ポイント変数は整数です。

Python では、オブジェクトは文字または「カテゴリ」変数に相当します。したがって、チーム変数はカテゴリ変数です。

例 2: 既存の数値変数からカテゴリ変数を作成する

次のコードは、DataFrame 内のPointsという既存の数値変数からstatusというカテゴリ変数を作成する方法を示しています。

 import pandas as pd

#create DataFrame with one categorical variable and one numeric variable
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [12, 15, 19, 22, 24, 25, 26, 30]})

#create categorical variable 'status' based on existing numerical 'points' variable
df[' status '] = pd. cut (df[' points '],
                      bins=[ 0,15,25 ,float(' Inf ') ] ,
                      labels=[' Bad ', ' OK ', ' Good '])

#view updated DataFrame
print (df)

  team points status
0 To 12 Bad
1 B 15 Bad
2 C 19 OK
3 D 22 OK
4 E 24 OK
5 F 25 OK
6 G 26 Good
7:30 a.m. Good

Cut()関数を使用して、次の値を取るstatusという新しいカテゴリ変数を作成しました。

  • ポイント列の値が 15 以下の場合は「 Bad 」。
  • それ以外の場合、ポイント列の値が 25 以下の場合は「 OK 」になります。
  • それ以外の場合は「良い」。

Cut()関数を使用する場合ラベルの数はビンの数より 1 つ少ない必要があることに注意してください

この例では、ボックスのエッジを定義するためにボックスに 4 つの値を使用し、カテゴリ変数に使用するラベルを指定するためにラベルに 3 つの値を使用しました。

追加リソース

次のチュートリアルでは、他の一般的なパンダのタスクを実行する方法について説明します。

Pandasでダミー変数を作成する方法
Pandas でカテゴリ変数を数値に変換する方法
Pandasでブール値を整数値に変換する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です