アプリ版:「スタンプのみでお礼する」機能のリリースについて

np.arrayについて
a = np.array([1,2,3,4])
b = np.where(a == 2)
とした時にbはタプル型?になってしまうと思うのですが、要素番号のみを取り出しbに格納したいです。
(int型でb=1としたいです)

どのように書けば良いでしょうか?

A 回答 (1件)

質問の場合、aは1次元配列ですが、np.arrayは2次元以上の配列も可能なのでnp.whereの返値は各次元のインデックスを並べたタプルになります。


aが一次元配列だと分かっているなら
b = np.where(a == 2)[0]
とすればbはインデックスの配列になります。
さらにa==2となるaの要素が必ず1つと分かっているなら
b = np.where(a == 2)[0][0]
とすればbは1となります。
ただし、aが変わると例外など出しやすいのでお勧めはできないコードです。
    • good
    • 0
この回答へのお礼

助かりました!ありがとうございました!

お礼日時:2022/05/21 12:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!