色々な配列を作る便利な関数が用意されています。ここではそれらを紹介します。上でも述べた関数です。リストやタプルを引数に取り、配列を返す関数です。型を指定しない場合は、勝手に推測してくれますが、キーワード引数で指定することも出来ます。np.asarrayは引数がndarrayであれば、そのままndarrayを返し、そうでないならnp.arrayと同じ働きをする関数です。[6]:x.dtypeOut[6]:dtype('float64')np.arange¶Python組み込み関数のrange()と似ていますが、さらに高機能な関数で、ndarrayを返します。np.ones_like¶np.onesは、引数で与えられたshapeで、全ての要素が1であるようなndarrayを返します。np.ones_likeと同じです。上の2つと似ていますが、こちらは初期化をせずに配列の領域だけを確保する関数です。巨大な配列を自分で初期化したい場合や、値は何でもいいが配列だけ作りたいときに使います。初期化のプロセスを省略するためにnp.zerosなどよりも高速に動作します。ときどき変な値が入ってることがあるので、自分ですべての要素をあとで初期化するときのみ使うのが吉です。2.])np.linspace¶ある範囲を均等に分割する関数です。連続的な配列を作るときに非常に便利です。デフォルトで50個に分割します。3つ目の引数は個数を表す。0から2πまで50個に分割する。[22]:#endpoint=Falseの場合。stopの値を含まない。np.identity¶この2つは単位行列を生成する関数です。配列の次元を自在に変えられる関数です。zが並んだバイナリデータを一次元配列として読み取ったあと、reshapeすれば、2次元配列として扱えます。文字通り、ndarrayのshapeを変更する関数なのですが、2つほど注意する点があります。一つ目は、全体のsizeを変更しないようにしなければならないということです。新しいshapeの各要素を掛け合わせた値が元々の要素の総数を一致する必要があるということです。unchanged逆に言うと、sizeが同じであるならば、どのようなshapeでも作ることが出来ます。9]]]]])このような変形は、次元の異なる配列同士の計算をするために用いることがあります(ブロードキャスト)。reshapeの引数に-1を入れると、sizeを変えないようなshapeを計算してくれます。9]])二つ目の注意する点は、reshapeによって返ってくるndarrayは、元々のndarrayと同じメモリを参照している点です。reshapeによって返ってきたndarrayを書き換えると、オリジナルも変化するということです。このような参照をコピーと対比させて、ビューと言います。9])科学技術計算の上ではこの性質は重要です。大規模な配列をいちいちreshapeのたびにコピーされると困るからです。オリジナルを書き換えたくないならば、copy関数を使う必要があります。9])reshape関数まとめ¶sizeを変化させない。引数に-1を使うと便利。reshapeはコピーではなくビューを返す。コピーしたいときはcopy()を使う。お気軽にご連絡ください。