Pythonでブール値を数値に変換する
Pythonでブール値(TrueとFalse)を数値に変換します。
目次
Pythonのブール値と数値の対応
Pythonのブール値を数値として扱うと、Trueは1として、Falseは0として扱われます。
intメソッドを使うと、boolからintに変換できます。
d = int(b)
変数 |
型 |
内容 |
---|---|---|
b |
bool |
TrueまたはFalse。 |
d |
int |
1または0。 |
intメソッドには、文字列を整数に変換する機能もあります。
ブール値から数値への変換例
TrueとFalseを変換してみました。
>>> type(True)
<class 'bool'>
>>> int(True)
1
>>> type(int(True))
<class 'int'>
>>> type(False)
<class 'bool'>
>>> int(False)
0
>>> type(int(False))
<class 'int'>
型が変わってますね。
NumPyの行列要素のブール値を数値に変換する
NumPyの行列(ndarray)の場合はどうなるでしょうか。
単純にintメソッドを使うとエラーになります。
>>> import numpy as np
>>> a = np.array([[True, False],[False, True]])
>>> a
array([[ True, False],
[False, True]])
>>> int(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: only size-1 arrays can be converted to Python scalars
intメソッドの戻り値がスカラーだからだめよということですね。
ndarrayに対しては、代わりにastypeメソッドを使います。
aar_t = numpy.ndarray.astype(dtype, [order], [casting], [subok], [copy])
変数 |
型 |
内容 |
---|---|---|
dtype |
srt, dtype |
変換先の型。 |
order |
str |
省略可。既定値は'K'。メモリレイアウトの指定。 |
casting |
str |
省略可。既定値は'unsafe'。型キャストのタイプ。 |
subok |
bool |
省略可。既定値はTrue。 |
copy |
bool |
省略可。既定値はTrue。ndarrayをコピーするかどうか。 |
aar_t |
ndarray |
変換後のndarray。 |
>>> import numpy as np
>>> a = np.array([[True, False],[False, True]])
>>> a
array([[ True, False],
[False, True]])
>>> b = a.astype(np.int)
>>> b
array([[1, 0],
[0, 1]])
要素毎に変換されました。
公開日
広告
Pythonカテゴリの投稿
- PythonからWindows RuntimeのAPIを使ってみる
- Pythonから外部のアプリケーションを実行する
- PythonでApacheのログを読む
- PythonでURLを結合する
- PythonでURLを解析する
- Pythonでtar.gzなファイルを解凍(展開)する
- Pythonでwavファイルを書き出す
- Pythonでwavファイルを読み込む
- Pythonでデータを整形して出力する
- Pythonでハミング窓関数を作る(SciPy編)
- Pythonでブール値を数値に変換する
- Pythonでモジュールをインポートする
- Pythonで数値を比較する
- Pythonで文字の内容から真偽値の判定をする
- Pythonで自前の関数を定義する
- Pythonで論理演算する
- Pythonのprint関数で改行せずに出力する
- Pythonのプログラムを終了する
- Pythonの関数には参照を渡す
- Windows10 バージョン1703 Creators Update にPythonとSphinxをインストール
- Windwos10 バージョン1703 Creators Update にPythonとSphinxをインストール (Anaconda編)
- reStructuredTextの表
- ダウンロードしたファイルのチェックサムをPythonで確認してみた
- 反復処理 (while)
- 反復処理(for)
- 条件分岐
- 自作のモジュールをインポートする