Pandas dataframe でブール値を文字列に変換する方法


次の基本構文を使用して、pandas DataFrame のブール列を文字列列に変換できます。

 df[' my_bool_column '] = df[' my_bool_column ']. replace ({ True : ' True ', False : ' False '})

この特定の例では、 my_bool_columnという列内の各 True 値を文字列 “True” に置き換え、各 False 値を文字列 “False” に置き換えます。

次の例は、この構文を実際に使用する方法を示しています。

例: Pandas でブール値を文字列に変換する

次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
                   ' points ': [18,20, 25, 40, 34, 32, 19],
                   ' all_star ': [True, False, True, True, True, False, False],
                   ' starter ': [False, True, True, True, False, False, False]})

#view DataFrame
print (df)

  team points all_star starter
0 A 18 True False
1 B 20 False True
2 C 25 True True
3 D 40 True True
4 E 34 True False
5 F 32 False False
6 G 19 False False

dtypes 関数を使用して、DataFrame の各列のデータ型を確認できます。

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

team object
int64 dots
all_star bool
starter bool
dtype:object

結果から、 all_star 列starter列の両方がブール値であることがわかります。

次の構文を使用して、 all_star列を文字列列に変換できます。

 #convert Boolean values in all_star column to strings
df[' all_star '] = df[' all_star ']. replace ({ True : ' True ', False : ' False '})

#view updated DataFrame
print (df)

  team points all_star starter
0 A 18 True False
1 B 20 False True
2 C 25 True True
3 D 40 True True
4 E 34 True False
5 F 32 False False
6 G 19 False False

#view updated data types of each column
print ( df.dtypes )

team object
int64 dots
all_star object
starter bool
dtype:object

結果から、 all_star列が string 列に変換されたことがわかります。

all_star 列starter列をブール値から文字列に変換するには、次の構文を使用できます。

 #convert Boolean values in all_star and starter columns to strings
df[[' all_star ', ' starter ']] = df[[' all_star ', ' starter ']]. replace ({ True : ' True ', False : ' False '})

#view updated DataFrame
print (df)

  team points all_star starter
0 A 18 True False
1 B 20 False True
2 C 25 True True
3 D 40 True True
4 E 34 True False
5 F 32 False False
6 G 19 False False

#view updated data types of each column
print ( df.dtypes )

team object
int64 dots
all_star object
starter object
dtype:object

結果から、両方のブール列が文字列に変換されたことがわかります。

注: pandas replace()関数の完全なドキュメントは、ここで見つけることができます。

追加リソース

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

パンダ: ブール値系列を使用して DataFrame から行を選択します
Pandas: 条件に基づいてブール列を作成する方法
Pandas: ブール値を整数値に変換する方法

コメントを追加する

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