I Have a 3D array composed of various columns. I just want to slice the last column. The array looks like the following:
array([[[5.45454545e-01, 6.36363636e-01, 7.27272727e-01, ..., 1.00000000e+00, 0.00000000e+00, 9.09090909e-02], [5.45454545e-01, 6.36363636e-01, 7.27272727e-01, ..., 1.00000000e+00, 0.00000000e+00, 9.09090909e-02], [5.45454545e-01, 6.36363636e-01, 7.27272727e-01, ..., 1.00000000e+00, 0.00000000e+00, 9.09090909e-02]
I have tried the following code. But it only shows the last column while I want to show all columns values except the last column.
df[:, :-1]
Advertisement
Answer
IUUC, you can use:
a[..., :-1] # equivalent to a[:,:,:-1]
Example input:
a = np.arange(3**3).reshape(3,3,3) array([[[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8]], [[ 9, 10, 11], [12, 13, 14], [15, 16, 17]], [[18, 19, 20], [21, 22, 23], [24, 25, 26]]])
matching output:
a[..., :-1] array([[[ 0, 1], [ 3, 4], [ 6, 7]], [[ 9, 10], [12, 13], [15, 16]], [[18, 19], [21, 22], [24, 25]]])