科学の箱

科学・IT・登山の話題

Python

配列のインデックス

投稿日:

インデックスとは配列に対して[]で要素を抜き出す方法である。

マニュアルは以下になる。

インデックスの方法としては以下がある。

  • 整数値を使ったインデックス
  • スライスを使ったインデックス
  • 配列を使ったインデックス
  • ブーリアンインデックス

整数値を使ったインデックス

[N]のように[と]の間に整数値Nを指定したインデックスである。例えば一次元の配列であればこれはN番目の要素を抜き出す。

要素を一つだけ抜き出す最も基本的となるインデックス操作をしてみる。

import numpy as np
x = np.arange(10)
print(x)
# [0 1 2 3 4 5 6 7 8 9]

 

print(x[0])
# 0
print(x[3])
# 3

 

またマイナスの値を指定すると、右端からのインデックスとなる。

 

print(x[-2])
# 8

 

numpy.ndarrayでは多次元配列に対してもインデックスを実行できる。

x.shape = (2,5) 
print(x)
#[[0 1 2 3 4]
 [5 6 7 8 9]]

print(x[1])
#  [5 6 7 8 9]

print(x[1,2])
# 7

print(x[1][2])
# 7

 

スライスを使ったインデックス

スライスは3つのフォーマットがある。

  • i:j:k ー  iは開始位置、jは終了位置、kはステップ
  • i:j - iは開始位置、jは終了位置, ステップは1となる
  • i: - iは開始位置、終了位置は配列の最後の位置、ステップは1となる
  • :j - 開始位置は配列の開始位置、jは終了位置、ステップは1
import numpy as np
x = np.arange(10)
# [0 1 2 3 4 5 6 7 8 9]

print(x[1:5:2])
# [1 3]

print(x[2:6])
# [2 3 4 5]

print(x[3:])
# [3 4 5 6 7 8 9]

print(x[:7])
# [0 1 2 3 4 5 6]

 

配列を使ったインデックス

インデックスには配列を指定することもできる。便利である反面、コードが読みにくくなる可能性がある。複雑になりすぎるようなら別の方法を試すほうが良い。

  • インデックスに使う配列はint型であること
  • インデックスにより戻される配列は本体である、つまり書き換えができる。
import numpy as np
x = np.arange(0,20,2)
print(x)
# [ 0  2  4  6  8 10 12 14 16 18]

print(x[np.array([3,3,8,2,9])])
# [ 6  6 16  4 18]

 

ブーリアン型インデックス

ブーリアン型インデックスは対象となる配列と同じ形状(shape)を持つ配列であり要素はTrueもしくはFalseのBoolean型である。要素に紐づくインデックスがTrueの場合のみ値が戻される。整数値、スライス、配列を使ったインデックスとは異なり柔軟に要素を抜き出すことができる。

b=x>6
print(b)
# [False False False False  True  True  True  True  True  True]

print(x[b])
[ 8 10 12 14 16 18]

print(x[np.array([True, False, True, False, True, True, False, True, False, True])])
# [ 0  4  8 10 14 18]

 

メタ情報

inarticle



メタ情報

inarticle



-Python
-

執筆者:


comment

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

関連記事

no image

OpenCV

WindowsにOpenCVをインストールする場合に2つのやり方がある。 一つは様々な言語からOpenCVを利用できるようにする方法、2つ目の方法ではPythonからOpenCVを利用する方法である。 …

no image

numpy.arange()を使って等差数列を生成する

等差数列を作るためにはnumpy.linspace()を使うと話をした。しかしlinspace()は要素数を指定するためにかえって混乱を招くことがある。そこで便利なのが公差を指定して配列を作ってくくれ …

no image

tensorflowをpipでインストールするときのオプション

tensorflow環境を構築するときにはpipを利用すると簡単である。pipの簡単な使い方としてはinstallオプションを指定すればよい。 pip install tensoflow しかしこのオ …

no image

django install

まずはdjangoをインストールする pip install django   Versionを確認する python -m django –version はじめてのプロジェク …

no image

python data scientist bootcamp

pythonでdata分析をしたいと思ったが学校に通う時間もお金もない。udemyで検索したところ英語版であるが1400円!でコースが見つかったのでこちらを受けることにした。 https://www. …

2019年9月
« 8月   10月 »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

side bar top



アーカイブ

カテゴリー