この記事は個人の実行記録Noteです。個人的な経験からPythonの基本を初心の方向けに紹介します。
§ プログラミング >変数と演算 >Ndarray(多次元)
*多次元Ndarray に格納されたデータへのアクセス
【表1参照】 多次元Ndarray に格納されたデータを取得は、配列のインデックスを次元ごとにカンマで区切って [ ] 内の引数とする。 リストやタプルの場合と同じ様に、複数の [ ] で段階的な指定でもよい。
・位置指定(単数) > A = 配列 [0次,1次, ..., n-1次] : 1つの要素にアクセスするには、各次元のインデックスを指定する必要がある。
・マイナス位置指定(単数) > A = 配列 [0次,1次, ..., n-1次] (マイナス値): マイナス値のインデックスでの指定が可能。要素数のマイナス値より小さいマイナスの数はエラーになる。
・高次元の全指定 > A = 配列 [0次,1次, ... 省略] : 高次元の指定を省略すると、省略した高次元部分は全指定と見做される。 新しいNdarrayが得られる。
・要素範囲を指定 > A = 配列 […, 開始要素:終了要素, ...] : ”:”の前後で開始、終了を指定して範囲指定が可能。終了は指定値の1つ前までなので注意する。 新しいNdarrayが得られる。
・要素配列の全指定 > A = 配列 […, :, ...] : 範囲指定の前後を省略すれば、その次元の全範囲指定になる。
・要素配列の後方指定 > A = 配列 […, 要素位置:, ...] : 範囲指定の後を省略すれば、開始位置から最後までを指定したことになる。
・要素配列の前方指定 > A = 配列 […, :要素位置, ...] : 範囲指定の前を省略すれば、最初から指定位置の1つ前までを指定したことになる。
・始:終:step を指定 > A = 配列 […, 開始:終了:ステップ, ...] : 開始要素、終了要素、ステップを ”:”で区切って指定する。 step値飛ばしで(終了要素-1)番目までの範囲内で抽出。 指定した終了要素は含まれない。
・インデックス指定 > A = 配列[ [ [0次,0次, ..., 0次] ,[1次,1次, ..., 1次], …] ] : 位置指定をリストにして複数の位置指定をする。 リストは0次の指定リスト、1次の指定リスト、…と次元毎の指定になるので注意する。
・論理判定指定 > A = 配列[ [[論理値,論理値, ..., 論理値] ] : 要素に対応した論理値(True/False)を列記する。 論理値はすべての要素に対して指定する必要がある。
・条件一致 > A = 配列[ 配列条件式 ] : 配列に条件設定した式を記載する。 配列に対する条件演算の結果がBool型で帰ってくるので、論理判定での指定をしたことになる。
*多次元Ndarray に格納されたデータの変更
【表2参照】 多次元Ndarray の要素は個別に変更が可能となっている。表1でのアクセス要素に代入演算を行えば部分的な変更が可能。変更する配列部分は表1のアクセスした時に得られる配列と同じ配列形状で同じデータタイプであることが必要で、タプルやリストを使う。多次元Ndarray でもいい。
配列形状やデータタイプが異なる場合はリストを利用することを考えた方がいい。 配列全体に対する演算はNdarrayの得意とするブロードキャストが働くので、別記とする。
・位置指定(単数) > 配列 [0次,1次, ..., n-1次] = x : 1つの要素を指定して変更する。
・マイナス位置指定(単数) > 配列 [0次,1次, ..., n-1次] (マイナス値) = x : マイナス値のインデックスでの指定でも、要素を指定して変更する。
・高次元の全指定 > 配列 [0次,1次, ... 省略] = 配列 (省略部分と同じ配列形状) : 高次元の指定を省略して、省略した高次元部分と同じ配列形状の配列要素に変更する。
・要素範囲を指定 > 配列 […, 開始要素:終了要素, ...] = 配列 (範囲を指定と同じ配列形状) : 指定範囲指定と同じ配列形状の配列要素に変更する。
・要素配列の全指定 > 配列 […, :, ...] = 配列 (全範囲指定の次元と同じ配列形状): 全範囲指定した次元と同じ配列形状の配列要素に変更する。
・要素配列の後方指定 > 配列 […, 要素位置:, ...] = 配列 (開始位置から最後までと同じ配列形状): 開始位置から最後までを指定して変更する。
・要素配列の前方指定 > 配列 […, :要素位置, ...] = 配列 (最初から指定位置の1つ前までと同じ配列形状) : 最初から指定位置の1つ前までを指定して変更する。
・始:終:step を指定 > 配列 […, 開始:終了:ステップ, ...] = 配列 (ステップで指定した要素の同じ配列形状) : 開始要素、終了要素、ステップで指定した要素を変更する。
・インデックス指定 > 配列[ [ [0次,0次, ..., 0次] ,[1次,1次, ..., 1次], …] ] = 配列 (指定した要素の同じ要素数の配列) : 複数の位置指定をリストで指定して、指定した要素と同じ形状の配列で変更する。
・論理判定指定 > 配列[ [論理値,論理値, ..., 論理値] ] = 配列 : 論理値で指定した配列を変更する。 変更配列は論理値でTrueでの配列形状に一致させる。
・条件一致 > 配列[ 配列条件式 ] = 配列 : 配列に対する条件演算の結果要素を変更する。 変更配列は配列条件式でのTrue配列形状に一致させる。
〇 関連する公開記事
・ Ndarray のcopy複製、append追加、concatenate結合
・ Ndarray(多次元配列)の生成
・ Ndarray(1次元)の生成と要素の追加、削除、コピー
・ Ndarray(1次元)要素の取得と変更
以上
0コメント