[Python] numpy library array splicing np.concatenate 公式ドキュメントの詳細と例です。
2022-02-20 03:56:45
実際には、しばしば配列の連結の問題に遭遇しますが、numpyライブラリのconcatenateは非常に優れた配列操作関数です。
1, concatenate((a1, a2, ...), axis=0) 公式ドキュメントの詳細情報
concatenate(...)
concatenate((a1, a2, ...) , axis=0)
Join a sequence of arrays along an existing axis.
Parameters
----------
a1, a2, ... : sequence of array_like
The arrays must have the same shape, except in the dimension
corresponding to `axis` (the first, by default).
axis : int, optional
The axis along which the arrays will be joined. default is 0.
Returns
-------
res : ndarray
The concatenated array.
See Also
--------
ma.concatenate : Concatenate function that preserves input masks.
array_split : Split an array into multiple sub-arrays of equal or
near-equal size.
split : Split array into a list of multiple sub-arrays of equal size.
hsplit : Split array into multiple sub-arrays horizontally (column wise)
vsplit : Split array into multiple sub-arrays vertically (row wise)
dsplit : Split array into multiple sub-arrays along the 3rd axis (depth).
stack : Stack a sequence of arrays along a new axis.
hstack : Stack arrays in sequence horizontally (column wise)
vstack : Stack arrays in sequence vertically (row wise)
dstack : Stack arrays in sequence depth wise (along third dimension)
2. パラメータ パラメータ
-
渡されるパラメータは、必ず タプルまたは複数の配列のリスト
-
また、ステッチの方向も指定します。デフォルトは axis = 0 で、axis 0 の配列オブジェクトは縦にステッチされます(縦のステッチは axis= 1 に沿って行われます)。 注:一般にaxis = 0はその軸で配列を操作し、操作方向はもう一方の軸、つまりaxis = 1になることを意味します。
In [23]: a = np.array([[1, 2], [3, 4]])
In [24]: b = np.array([[5, 6]])
In [25]: np.concatenate((a, b), axis=0)
Out[25]:
array([[1, 2],
[3, 4],
[5, 6]])
- で渡された配列は は同じ形でなければなりません。 ここで、同じ形状は ステッチ方向を軸としたアレイ間の形状が同じであればよい
水平0軸にaxis=1の配列オブジェクトをステッチした場合、aはaxis=0軸2の2*2次元配列、bはaxis=0軸1の1*2次元配列で、両者は形状が等しくないため、エラーが報告されます。
In [27]: np.concatenate((a,b),axis = 1)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
()
----> 1 np.concatenate((a,b),axis = 1)
ValueError: all the input array dimensions except for the concatenation axis must match exactly
Transpose b to get b as a 2*1 dimensional array.
In [28]: np.concatenate((a,b.T),axis = 1)
Out[28]:
array([[1, 2, 5],
[3, 4, 6]])
In [28]: np.concatenate((a,b.T),axis = 1)
Out[28]:
array([[1, 2, 5],
[3, 4, 6]])
関連
-
[解決済み】「AttributeError: module 'tensorflow' has no attribute 'get_default_graph' 」を修正する方法とは?
-
[解決済み】Pandas - 関数のドロップエラー(ラベルが軸に含まれていない)【重複】。
-
[解決済み】TypeError: タプルのインデックスは整数でなければならず、strであってはならない
-
[解決済み】ヒストグラムプロット "AttributeError: max must be larger than min in range parameter."
-
whiten matrix times エラー。TypeError: flexible type で reduce を実行できない。
-
[解決済み] random.randintとrandrangeの違いは何ですか?
-
[解決済み] ハウツー Pyspark データフレームの永続的な使用とリードバック
-
[解決済み] Pythonで複数行のdictをフォーマットする適切な方法は何ですか?
-
Pythonのリクエストで "Max retries exceeded with url "というエラーが発生する。
-
花火、桜、薔薇を美しく実装するPython
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ValueError: xとyは同じサイズでなければならない
-
[解決済み] 'instancemethod' オブジェクトは、クラス変数で '__getitem__' という属性を持たない
-
Python辞書ループ RuntimeError: 反復中に辞書のサイズが変更されたエラー解析
-
pygame.error。Unable to open file 'audio/gege.wav' 报错_qq_45209973的博客-程式员秘密
-
[解決済み] openpyxl'という名前のモジュールがない - Python 3.4 - Ubuntu
-
[解決済み] USBErrorです。[Errno 13] アクセスが拒否されました(権限が不足しています)。
-
[解決済み] Django の例外 : django.core.exceptions.ImproperlyConfigured:
-
[解決済み] Pythonです。Unicode and "\xe2x80</p> <p>Driving me batty
-
[解決済み] 文字列リテラルの前にある'b'文字は何を意味するのでしょうか?
-
Pythonのエラーです。TypeError: 'str' と 'int' のインスタンス間でサポートされていません。