Ndarray のcopy複製、append追加、concatenate結合

 この記事は個人の実行記録Noteです。個人的な経験からPythonの基本を初心の方向けに紹介します。

§ プログラミング >変数と演算 >Ndarray(多次元)


 Numpy のNdarray(多次元配列)に対して、複製、要素追加、結合を行うには、
  複製は、copyメソッドが基本。要素の全指定、再配列変換も可能。
  要素追加は、append メソッド を使う。
  複数Ndarray の結合は、concatenate メソッド がある。

* 多次元Ndarrayの複写 : copy

作成済みのNdarrayと同じ値または配列を持つNdarrayを作りたい時は複写をする。 等号=での設定は、同じ配列に別の変数名を充てるだけで、複数の変数名が重複して同じ配列を扱うことになるので注意が必要。

・配列をコピーする        > A = a.copy()  : copyメソッドは別の変数を生成する。
・同じ要素つ配列を作る > A = a[:]          : 全要素を指定する。
・Ndarray に再変換する > A = numpy.array(a) : 配列として再変換する。

 基本はコピーメソッドを使う。 コピー前の変数にNdarray やリスト、タプルなどが混じっている場合には再変換してしまうのが確実。 全要素指定の方法は、コードが一番短く書ける。

* 多次元Ndarrayにappendで配列を追加する

多次元のNdarryに配列を追加するにはappendメソッドを使用する。 appendメソッドでは追加する次元を軸として指定することが出来る。 軸指定をしなければ1次元配列としての追加になる、concatenate メソッドと違うので注意。

appendの書式: numpy.append(追加先の配列, 追加配列, 追加軸)

・軸指定なしの追加 > A = np.append(x,y) : 追加は1次元配列で行われる。
・第0軸指定の追加   > A = np.append(x,y,0) : 0次軸での追加となる。x,yは第0軸以外の要素数が一致
・第n軸指定の追加   > A = np.append(x,y,n) : n次軸での追加となる。x,yは第n軸以外の要素数が一致

* 複数の多次元Ndarrayをconcatenateで結合する

 複数の多次元のNdarryに配列を結合するにはconcatenate メソッドを使用する。 concatenate メソッドは追加する次元を軸として指定する。2つの配列ならばappendメソッドと同じ結果になる。軸指定をしなければ0次軸での追加になるのは、append メソッドと違うので注意。

concatenateの書式: numpy.concatenate([配列1, 配列2, 配列3 ・・・], 結合軸)

・軸指定なしの結合 > A = np.concatenate([x,y,z],None) : 軸指定はNoneとする。結合は1次元配列で行われる。
・第0軸指定の結合  > A = np.concatenate([x,y,z]) : 軸指定は省略または0とする。0次軸での結合となる。結合する配列は第0軸以外の要素数が一致。 
・第n軸指定の結合 > A = np.concatenate([x,y,z],n) : n次軸での結合となる。結合する配列は第n軸以外の要素数が一致


〇 関連する公開記事

 ・ Ndarray(多次元配列)の生成
 ・ Ndarray(1次元)の生成と要素の追加、削除、コピー
 ・ Ndarray(1次元)要素の取得と変更


以上

IG.Python Note

PythonプログラミングのためのTips集です。 趣味のPythonプログラミングをしていると、必要なプログラミング情報を自分で取集することが必要になります。 集めた情報を整理しておくと便利なので、個人的な学習メモとして記録を作りました。

0コメント

  • 1000 / 1000