Numpyの生成


Numpyのコアフィーチャーの1つが、N次元グループオブジェクトであるndarrayです.ndarrayはPythonの高速です.フレキシブルな大型データセットコンテナ.配列を使用すると、スカラーのような操作構文を使用して、ブロック全体のデータ上でデータ計算を行うことができます.
Numpyを感じさせるには、まずNumpyをインポートし、小さなランダム配列を生成します.
import numpy as np
#      
data = np.random.rand(2,3)

data
array([[0.91666618, 0.65477897, 0.47119754],
       [0.01575175, 0.54662481, 0.02147491]])

dataに数学的な操作を加えることができます.
data * 10
array([[9.16666176, 6.54778974, 4.71197543],
       [0.15751747, 5.46624805, 0.21474909]])

data + data
array([[1.83333235, 1.30955795, 0.94239509],
       [0.03150349, 1.09324961, 0.04294982]])

(Numpyのインポート方式import numpy as np.もちろんコードには**from numpy import***を使用してマルチライトのnpを省略することもでき、標準インポートのインポート方式を推奨します.)
1つのndarrayは汎用的な多次元同類データコンテナであり、すなわち、各要素が同じタイプである.各配列にはshape属性があり、配列の各次元の数を特徴付け、各配列にはデータのデータ型を記述するdtype属性があります.
data.shape
(2, 3)

data.dtype
dtype('float64')

「配列」、「Numpy配列」、または「ndarray」が表示されると、同じオブジェクト:ndarrayオブジェクトを表します.
配列を生成する最も簡単な方法はarray関数を使用することです.array関数は任意のシーケンス型オブジェクト(もちろん他の配列も含む)を受信し,伝達データを含む新しいNumpy配列を生成する.たとえば、リストの変換は良い例です.
data1 = [6,7.5,8,0,1]

arr1 = np.array(data1)

arr1
array([6. , 7.5, 8. , 0. , 1. ])

同じ長さのリストなどのネストされたシーケンスは、自動的に多次元配列に変換されます.
data2 = [1,2,3,4],[5,6,7,8]

arr2 = np.array(data2)

arr2
array([[1, 2, 3, 4],
       [5, 6, 7, 8]])

data 2はリストを含むリストであるため、Numpy配列arr 2は2次元配列を形成する.これを確認するには、ndimとshapeのプロパティを確認します.
arr2.ndim
2

arr2.shape
(2, 4)

np.arrayは生成されたデータ型を自動的に推定します.データ型は特殊なメタデータdtypeに格納されます.例:
arr1.dtype
dtype('float64')

arr2.dtype
dtype('int32')

npを除いてarray、新しい配列を作成できる他の関数もたくさんあります.例えば、所定の長さおよび形状の後、zerosは一度に全0配列を作成することができ、onesは一度に全1配列を作成することができる.Emptyでは、初期化値のない配列を作成できます.高次元配列を作成するには、shapeにメタグループを渡す必要があります.
np.zeros(10)
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])

np.zeros((3,6))
array([[0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.]])

np.empty((2,3,2))
array([[[0., 0.],
        [0., 0.],
        [0., 0.]],

       [[0., 0.],
        [0., 0.],
        [0., 0.]]])

npを使用する.Emptyは全0配列を生成しますが、安全ではありません.初期化されていないゴミの数値を返す場合があります.
arangはPython内蔵関数rangeの配列版です.
np.arange(15)
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14])

配列生成関数は次のとおりです.
  • array:入力データ(リスト、メタグループ、配列、その他のシーケンス)をndarrayに変換します.データを明示的に指定しないと、自動的に推定され、デフォルトではすべての入力データがコピーされます.
  • asarray:入力データをndarrayに変換しますが、入力およびndarrayの場合はコピーされません.
  • arange:Python内蔵関数rangeの配列版で、1つの配列を返します.
  • ones:所与の形状とデータ型に基づいて全1配列を生成する.
  • ones_like:与えられた配列に基づいて形状の同じ全1配列を生成します.
  • zeros:所与の形状とデータ型に基づいて全0配列を生成します.
  • zeros_like:与えられた配列に基づいて、同じ形状の全0配列を生成します.
  • empty:所定の形状に基づいて初期化値のない空の配列を生成します.
  • empty_like:与えられた配列に基づいて、同じ形状の初期化値のない空の配列を生成します.
  • full:指定された形状とデータ型に基づいて指定された数値の配列を生成します.
  • full_like:与えられた配列に基づいて、同じ形状を生成しますが、内容は数値を指定する配列です.
  • eye,identity:N*Nフィーチャーマトリクス(対角線位置はすべて1で、残りの位置は0)
  • を生成します.