logo

Python の numpy.concatenate()

concatenate() 関数は、NumPy パッケージの関数です。この関数は基本的に NumPy 配列を結合します。この関数は基本的に、指定された軸に沿って同じ形状の 2 つ以上の配列を結合するために使用されます。以下の点に留意することが重要です。

  1. NumPy の concatenate() は、従来のデータベース結合とは異なります。 NumPy 配列を積み上げるようなものです。
  2. この機能は垂直方向と水平方向の両方で動作します。これは、配列を水平または垂直に連結できることを意味します。
numpy.concatenate()

concatenate() 関数は通常 np.concatenate() として記述されますが、numpy.concatenate() として記述することもできます。それは、numpy パッケージをインポートする方法によって異なります。それぞれ、numpy を np としてインポートするか、import numpy をインポートします。

構文

 numpy.concatenate((a1, a2, ...), axis) 

パラメーター

1) (a1、a2、...)

このパラメータは配列のシーケンスを定義します。ここで、a1、a2、a3…は、軸に相当する次元を除いて同じ形状の配列です。

アルゴリズム深さ優先検索

2) 軸: int(オプション)

このパラメータは、配列が結合される軸を定義します。デフォルトでは、その値は 0 です。

Javaの構造

結果

両方の配列の要素を含む ndarray を返します。

例 1: numpy.concatenate()

 import numpy as np x=np.array([[1,2],[3,4]]) y=np.array([[12,30]]) z=np.concatenate((x,y)) z 

上記のコードでは

  • numpy をエイリアス名 np でインポートしました。
  • np.array() 関数を使用して配列 'x' を作成しました。
  • 次に、同じ np.array() 関数を使用して別の配列 'y' を作成しました。
  • 変数「z」を宣言し、np.concatenate() 関数の戻り値を割り当てました。
  • 関数に配列「x」と「y」を渡しました。
  • 最後に、「z」の値を出力してみました。

出力では、両方の配列の値、つまり「x」と「y」が axis=0 として表示されます。

エキスパートシステム

出力:

 array([[ 1, 2], [ 3, 4], [12, 30]]) 

例 2: axis=0 の numpy.concatenate()

 import numpy as np x=np.array([[1,2],[3,4]]) y=np.array([[12,30]]) z=np.concatenate((x,y), axis=0) z 

出力:

 array([[ 1, 2], [ 3, 4], [12, 30]]) 

例 3: axis=1 の numpy.concatenate()

 import numpy as np x=np.array([[1,2],[3,4]]) y=np.array([[12,30]]) z=np.concatenate((x,y.T), axis=1) z 

出力:

 array([[ 1, 2, 12], [ 3, 4, 30]]) 

上の例では、「.T」は行を列に、列を行に変更するために使用されています。

例 4: axis=None の numpy.concatenate()

 import numpy as np x=np.array([[1,2],[3,4]]) y=np.array([[12,30]]) z=np.concatenate((x,y), axis=None) z 

出力:

 array([ 1, 2, 3, 4, 12, 30]) 

上記の例では、np.concatenate() 関数を使用しました。この関数は、MaskedArray 入力のマスクを保持しません。 MaskedArray 入力のマスキングを保持できる配列を連結するには、次の方法があります。

例 5: np.ma.concatenate()

 import numpy as np x=np.ma.arange(3) y=np.arange(3,6) x[1]=np.ma.masked x y z1=np.concatenate([x,y]) z2=np.ma.concatenate([x,y]) z1 z2 

上記のコードでは

グルーヴィーな言語
  • numpy をエイリアス名 np でインポートしました。
  • np.ma.arrange() 関数を使用して配列 'x' を作成しました。
  • 次に、同じ np.ma.arrange() 関数を使用して別の配列 'y' を作成しました。
  • 変数「z1」を宣言し、np.concatenate() 関数の戻り値を割り当てました。
  • 変数「z2」を宣言し、np.ma.concatenate() 関数の戻り値を割り当てました。
  • 最後に、「z1」と「z2」の値を出力してみました。

出力では、配列 'z1' と 'z2' の両方の値が MaskedArray 入力のマスキングを保持しています。

出力:

 masked_array(data=[0, --, 2], mask=[False, True, False], fill_value=999999) array([3, 4, 5]) masked_array(data=[0, 1, 2, 3, 4, 5], mask=False, fill_value=999999) masked_array(data=[0, --, 2, 3, 4, 5], mask=[False, True, False, False, False, False], fill_value=999999)