Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Stack columns in numpy 2-dim array to get 1-dim array

How to stack all columns in a 2-dimensional Numpy array into a 1-dimensional array.

I.e. I have:

x = np.array([[1, 3, 5],[2, 4, 6]])

And I want to get:

np.array([1, 2, 3, 4, 5, 6])

Is there a way to achieve this without a loop or list comprehension?

like image 256
PvK Avatar asked Feb 15 '26 03:02

PvK


2 Answers

You can use ravel:

x = np.array([[1, 3, 5],[2, 4, 6]])

res = x.ravel('F')  # or x.T.ravel()

# array([1, 2, 3, 4, 5, 6])
like image 137
jpp Avatar answered Feb 17 '26 15:02

jpp


Using flatten with 'F'

x.flatten('F')
Out[114]: array([1, 2, 3, 4, 5, 6])
like image 43
BENY Avatar answered Feb 17 '26 15:02

BENY



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!