David Waterworth
David Waterworth

Reputation: 2881

numpy concatenate over dimension

I find myself doing the following quite frequently and am wondering if there's a "canonical" way of doing it.

I have an ndarray say shape = (100, 4, 6) and I want to reduce to (100, 24) by concatenating the 4 vectors of length 6 into one vector

I can use reshape to do this but I've been manually computing the new shape

i.e.

np.reshape(x,shape=(a.shape[0],a.shape[1]*a.shape[2]))

ideally I'd simply supply the dimension I want to reduce on

np.concatenate(x,dim=-1)

but np.concatenate operates on an enumerable of ndarray. I've wondered if it's possible to supply an iterator over an ndarray axis but haven't looked further. What is the usual pattern here?

Upvotes: 0

Views: 290

Answers (1)

V. Ayrat
V. Ayrat

Reputation: 2719

You can avoid calculating one dimension by using -1 like:

x.reshape(a.shape[0], -1)

Upvotes: 1

Related Questions