[再版] [再版] PythonでNumpyライブラリを使い始める

参照リンク:Pythonのnumpy.ones_like

参照リンク:Pythonのnumpy.full_like 

目次 

 N次元配列オブジェクト:ndarrayの例ndarrayオブジェクトの属性ndarray配列要素のタイプndarray配列の作成方法Pythonのリスト、タプル、その他のタイプからndarray配列を作成し、NumPy関数を使用してndarray配列を作成する方法 

     ndarray配列の次元変換ndarrayタイプ変換ndarray配列からリストへの変換 

    ndarray配列操作インデックスと配列のスライス 

    ndarray配列の操作NumPy単項関数NumPyバイナリ関数 

    

   

  

  

  

N次元配列オブジェクト:ndarray  

引例  

>>> numpyをnpとしてインポート 

>>> def npSum(): 

    a = np.array([0、1、2、3、4]) 

    b = np.array([9、8、7、6、5]) 

    c = a ** 2 + b ** 3 

    cを返す 

  

>>> print(npSum()) 

[729 513 347 225 141] 

  

ndarrayオブジェクトのプロパティ  

プロパティの説明。Ndimランク、つまり軸の数または次元の数。shapendarrayオブジェクトのスケール。行列の場合、n行およびm列の数。sizendarrayオブジェクトの要素の数は次のようになります。 .shapeのn * mの値。dtypendarrayオブジェクトの要素type.itemsizendarrayオブジェクトの各要素のサイズ(バイト単位) 

>>> numpyをnpとしてインポート 

>>> a = np.array([[0、1、2、3、4]、[5、6、7、8、9]]) 

>>> a.ndim 

>>> a.shape 

(2、5) 

>>> a.size 

10 

>>> a.dtype 

dtype( 'int32') 

>>> a.itemsize 

  

ndarray配列の要素タイプ  

データ型の説明boolブール型、TrueまたはFalseintcはC言語のint型と一致します。通常、int32またはint64intpは整数のインデックス付けに使用され、C言語のssize_tと一致します。int32またはint64int8バイト長整数、値: 

        

         

          

           

           [ 

           

           

           ‐ 

           

           

           128 

           

           

           、 

           

           

           127 

           

           

           ] 

           

          

          

          [‐128、127] 

          

         

       [‐128,127] int16長さが16ビットの整数で、値は次のとおりです。 

        

         

          

           

           [ 

           

           

           ‐ 

           

           

           32768 

           

           

           、 

           

           

           32767 

           

           

           ] 

           

          

          

          [‐32768、32767] 

          

         

       [‐32768,32767] int3232ビット長整数、値: 

        

         

          

           

           [ 

           

           

           ‐ 

           

           

            

            2 

            

            

            31 

            

           

           

           、 

           

           

            

            2 

            

            

            31 

            

           

           

           ‐ 

           

           

           1 

           

           

           ] 

           

          

          

          [‐2 ^ {31}、2 ^ {31} ‐1] 

          

         

       [‐231,231‐1] int6464ビット長整数、値: 

        

         

          

           

           [ 

           

           

           ‐ 

           

           

            

            2 

            

            

            63 

            

           

           

           、 

           

           

            

            2 

            

            

            63 

            

           

           

           ‐ 

           

           

           1 

           

           

           ] 

           

          

          

          [‐2 ^ {63}、2 ^ {63} ‐1] 

          

         

       [‐263,263‐1] uint 88ビット符号なし整数、値: 

        

         

          

           

           [ 

           

           

           0 

           

           

           、 

           

           

           255 

           

           

           ] 

           

          

          

          [0、255] 

          

         

       [0,255] uint1616ビット符号なし整数、値: 

        

         

          

           

           [ 

           

           

           0 

           

           

           、 

           

           

           65535 

           

           

           ] 

           

          

          

          [0、65535] 

          

         

       [0,65535] uint3232ビットの符号なし整数、値: 

        

         

          

           

           [ 

           

           

           0 

           

           

           、 

           

           

            

            2 

            

            

            32 

            

           

           

           ‐ 

           

           

           1 

           

           

           ] 

           

          

          

          [0、2 ^ {32} ‐1] 

          

         

       [0,232-1] uint6432ビット符号なし整数、値: 

        

         

          

           

           [ 

           

           

           0 

           

           

           、 

           

           

            

            2 

            

            

            64 

            

           

           

           ‐ 

           

           

           1 

           

           

           ] 

           

          

          

          [0、2 ^ {64} ‐1] 

          

         

       [0,264-1] float16 16ビット半精度浮動小数点数:1符号ビット、5ビット指数、10ビット仮数float3232ビット半精度浮動小数点数:1符号ビット、8ビット指数、23 -ビット仮数float6464半精度浮動小数点数:1ビット符号ビット、11ビット指数、52ビット仮数complex64複素数型、実数部と虚数部は両方とも32ビット浮動小数点数complex128複素数型、実数と虚数部は両方とも64ビット浮動小数点数です 

ndarray配列の作成方法  

Pythonでリストやタプルなどからndarray配列を作成します  

>>> numpyをnpとしてインポート 

>>> x = np.array([[1,2]、[9,8]、(0.1,0.2)]) 

>>> print(x) 

[[1。2.] 

 [9。8.] 

 [0.1 0.2]] 

  

NumPy関数を使用してndarray配列を作成します  

関数の説明np.arange(n)はrange()関数に似ており、ndarray型を返します。要素は0からn-1です。np.ones(shape)は、形状と形状に従ってすべて1の配列を生成します。はタプルタイプnp.zeros(shape)であり、shapeはすべて0の配列を生成し、shapeはタプルタイプnp.full(shape、val)は形状に従って配列を生成し、各要素値はvalnp.eye(n)です。正方形のn * nアイデンティティ行列を作成するには、対角線は1で、残りは0np.ones_like(a)配列の形状に基づいてすべて1の配列を生成します。np.zeros_like(a)すべての配列を生成します。配列anp.full_like(a、val)の形状に基づく0s形状は配列を生成し、各要素値はvalnp.linspace()であり、開始データと終了データに従って等間隔でデータを入力して配列npを形成します。 .concatenate()は、2つ以上の配列を新しい配列にマージします 

>>> numpyをnpとしてインポート 

>>> print(np.arange(5)) 

[0 1 2 3 4] 

>>> print(np.ones((2,3))) 

[[1。1. 1.] 

 [1。1. 1.]] 

>>> print(np.zeros((1,5))) 

[[0。0。0。0。0。]] 

>>> print(np.full((3,3)、8.6)) 

[[8.6 8.6 8.6] 

 [8.6 8.6 8.6] 

 [8.6 8.6 8.6]] 

>>> print(np.eye(3)) 

[[1。0。0。] 

 [0。1. 0.] 

 [0。0.1。]] 

>>> a = np.linspace(1、10、4) 

>>> a 

array([1.、4.、7.、10。]) 

>>> b = np.linspace(1、10、4、endpoint = False) 

>>> b 

array([1。、3.25、5.5、7.75]) 

>>> c = np.concatenate((a、b)) 

>>> c 

array([1.、4.、7.、10.、1.、3.25、5.5、7.75]) 

  

ndarray配列の次元変換  

メソッドの説明。reshape(shape)は配列要素を変更せず、形状形状の配列を返します。元の配列は変更されません。resize(shape)は.reshape()と同じ機能ですが、元の配列を変更します。swapaxes(ax1 、ax2)は配列をnに変更します。2つの次元のうち2つが交換されます。flatten()は配列の次元を減らし、折りたたまれた1次元配列を返します。元の配列は変更されません 

>>> a = np.ones((2,3,4)、dtype = np.int32) 

>>> a 

配列([[[1、1、1、1]、 

        [1、1、1、1]、 

        [1、1、1、1]]、 

  

       [[1、1、1、1]、 

        [1、1、1、1]、 

        [1、1、1、1]]]) 

>>> a.reshape(3,8) 

配列([[1、1、1、1、1、1、1、1]、 

       [1、1、1、1、1、1、1、1]、 

       [1、1、1、1、1、1、1、1]]) 

>>> a.resize(3,8) 

>>> a 

配列([[1、1、1、1、1、1、1、1]、 

       [1、1、1、1、1、1、1、1]、 

       [1、1、1、1、1、1、1、1]]) 

>>> a.flatten() 

array([1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1、1 ]) 

>>> a.swapaxes(0,1) 

array([[1、1、1]、 

       [1、1、1]、 

       [1、1、1]、 

       [1、1、1]、 

       [1、1、1]、 

       [1、1、1]、 

       [1、1、1]、 

       [1、1、1]]) 

  

ndarray配列の型変換  

new_a = a.astype(new_type)  

注:astype()メソッドは、2つのタイプが同じであっても、確実に新しい配列(元のデータのコピー)を作成します。  

>>> a = np.ones((2,3,4)、dtype = np.int32) 

>>> a 

配列([[[1、1、1、1]、 

        [1、1、1、1]、 

        [1、1、1、1]]、 

  

       [[1、1、1、1]、 

        [1、1、1、1]、 

        [1、1、1、1]]]) 

>>> b = a.astype(np.float) 

>>> b 

array([[[1.、1.、1.、1。]、 

        [1.、1.、1.、1。]、 

        [1.、1.、1.、1。]]、 

  

       [[1.、1.、1.、1。]、 

        [1.、1.、1.、1。]、 

        [1.、1.、1.、1。]]]) 

  

ndarray配列からリストへの変換  

ls = a.tolist()  

ndarray配列操作  

配列のインデックスとスライス  

1次元配列のインデックス作成とスライス:Pythonリストと同様多次元配列のインデックス作成:多次元配列のスライス   

ndarray配列操作  

NumPy単項関数  

関数の説明np.abs(x)np.fabs(x)配列の各要素の絶対値を計算しますnp.sqrt(x)配列の各要素の平方根を計算しますnp.square(x)の二乗を計算します配列の各要素np.log(x)np.log10(x)np.log2(x)は、配列の各要素の自然対数、10を底とする対数、および2を底とする対数を計算します。np.ceil(x)np.floor (x)配列の各要素の上限値を計算するか、下限値np.rint(x)が配列の各要素の丸め値を計算しますnp.modf(x)は、配列の各要素の小数部と整数部を返します。 2つの独立した配列としての配列np.cos(x)np.cosh(x)np.sin(x)np.sinh(x)np.tan(x)np.tanh(x)は、それぞれの正規関数と双曲線三角関数を計算します。配列の要素np.exp(x)は、配列の各要素の指数値を計算します。np.sign(x)は、配列の各要素の符号値を計算します。 

        

         

          

           

           1 

           

           

           (( 

           

           

           + 

           

           

           ) 

           

           

           、 

           

           

           0 

           

           

           、 

           

           

           ‐ 

           

           

           1 

           

           

           (( 

           

           

           ‐ 

           

           

           ) 

           

          

          

          1(+)、0、‐1(‐) 

          

         

       1(+)、0、‐1(‐) 

NumPyバイナリ関数  

関数の説明+ ‐ * / ** 2つの配列の各要素は、対応する操作を実行しますnp.maximum(x、y)= np.fmax(); np.minimum(x、y)= np.fmin()要素レベルの最大値/最小計算np.mod(x、y)要素レベルのモジュラー操作np.copysign(x、y)は、配列yの各要素値の符号を配列x> <> = <==の対応する要素に割り当てます。 =!=算術比較、ブール配列の生成

おすすめ

転載: blog.csdn.net/u013946150/article/details/112976704
おすすめ