concatenate() 関数は、NumPy パッケージの関数です。この関数は基本的に NumPy 配列を結合します。この関数は基本的に、指定された軸に沿って同じ形状の 2 つ以上の配列を結合するために使用されます。以下の点に留意することが重要です。
- NumPy の concatenate() は、従来のデータベース結合とは異なります。 NumPy 配列を積み上げるようなものです。
- この機能は垂直方向と水平方向の両方で動作します。これは、配列を水平または垂直に連結できることを意味します。
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)