numpy – r_とc_

概要

numpy.r_ / numpy.c_は配列を結合するオブジェクト。r_は縦方向に配列を結合し、c_は横方向に配列を結合する。vstack() / hstack()linspace()と似たような使い方ができるが、少し癖がある。

  • 配列と数値を混在させて結合できる
  • スライスでステップ数やか分割数を指定して数列をつくれる
  • vstack()hstack()の代わりに使える

vstack()hstack()と同じように使う。

r_について

numpy.r_で2次元配列に1行だけ追加するとき、1次元配列のままだ”次元が異なる”とエラー。素直にvstack()を使った方がよい。

r_のデフォルトで1次元配列同士を結合すると、単に横方向に結合される。配列と要素が混在していてもok。文字列の配列も結合できるが、文字列要素が混在するとエラーになる。

スライスを使って数列を生成。

3つ目の引数に'j'をつけてnumpy.linspace()と同様の動作。このときは終了値が含まれる。

c_について

numpy.c_で2次元配列にその行数と同じ要素数の1次元配列を結合すると、列ベクトルとみなされて1列追加される。hstack()が1次元配列を列ベクトル化する必要があるのに比べると手軽。

さらに要素数が同じ1次元配列同士を結合すると、それらが列ベクトルとみなされて結合される。

空の配列に対して順次列ベクトルを追加する場合には、empty(n, 0, dtype=type)を準備する。

 

コメントを残す

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