Concatenate 3D arrays
 Concatenate 3D arrays paul18fr Spam, spam, eggs, and spam Posts: 208 Threads: 53 Joined: Apr 2019 Reputation: Apr-09-2021, 02:24 PM Hi I still have difficulties to work with 3D arrays; in the following example, I'm trying to add/concatenate a 2D array to a 3D one. My trials fail so far and some googling didn't helped me. What's the correct use? Thanks for any help ```import numpy as np A = np.zeros( (2, 3, 5) ) print("A = {}\n".format(A)) ## 1rst term => depth ## 2 other terms => (i,j) ## basic 2D array B = np.ones( (3, 5) ) print("B = {}\n".format(B)) ## 2D array reshaped into 3D one prior to be concatenated Bprime = B.reshape(1,3,5) print("Bprime = {}\n".format(Bprime)) ## C is created and suppoed to be A expanded by B C = np.concatenate( (A, Bprime), axis = 2 ) # C = np.dstack( (A, Bprime)) # C = np.block( [A, Bprime] ) print("C = {}\n".format(C))``` Reply paul18fr Spam, spam, eggs, and spam Posts: 208 Threads: 53 Joined: Apr 2019 Reputation: Apr-09-2021, 02:49 PM Ok I fixed it and I figured out my mistake: axis=0 becomes the depth one for a 3D array and not rows axis as in a 2D array ```A = np.zeros( (2, 3, 5) ) print("A = {}\n".format(A)) ## 1rst term => depth ## 2 other terms => (i,j) ## basic 2D array B = np.ones( (3, 5) ) print("B = {}\n".format(B)) ## 2D array reshaped into 3D one prior to be concatenated Bprime = B.reshape(1,3,5) print("Bprime = {}\n".format(Bprime)) ## C is created and suppoed to be A expanded by B # C = np.concatenate( (A, Bprime) ) C = np.concatenate( (A, Bprime), axis = 0) print("C = {}\n".format(C))``` Reply

 Possibly Related Threads… Thread Author Replies Views Last Post comparing floating point arrays to arrays of integers in Numpy amjass12 0 1,293 Jul-26-2021, 11:58 AM Last Post: amjass12 Numpy arrays and compatability with Fortran arrays merrittr 0 1,480 Sep-03-2019, 03:54 AM Last Post: merrittr concatenate mcgrim 1 1,779 Mar-22-2019, 01:31 PM Last Post: buran

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020