bool値を用いてNumpyのarrayを表現しました。
python
1ar = numpy.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) 2bool1 = numpy.array([True, False, True, False,True, False, True, False, True, False]) 3print(ar[bool1]) 4#[1 3 5 7 9]
またpythonにおいてTrue、Falseは1、0と等価である。
python
1print(True == 1) #True 2print(False == 0) #True
よって整数型を用いて同じようにarrayを表現する
python
1int1 = bool1.astype(int) 2print(int1) #[1 0 1 0 1 0 1 0 1 0] 3 4print(ar[int1]) 5#[2 1 2 1 2 1 2 1 2 1]
このように整数型を用いるとbool値とは異なる配列を返します。
整数型では元の配列の1番目と2番目を繰り返す配列を返ってきました。
なぜこのような違いが生まれるのでしょうか。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。