Python newbie here. I have a list of arrays of size 9. Each element of the list contains a numpy array of size (1,7). How do I convert the list into a numpy array of size (9,7)?
Thanks!
CodePudding user response:
How to put a list of horizontal vectors into one array
np.array(a).reshape(len(a), a[0].shape[1])
np.vstack(a)
np.r_[(*a,)]
np.array(a).squeeze() is applicable only if you know that 
At large sizes, the speed of work becomes comparable, e.g. 1000 x 1000:
Given large enough sizes, reshape and vstack are comparable and perform better than others, e.g. 10 000 x 10 000:
As far as np.array(...).reshape(...) has shown equally good results at different sizes, it seems like a good choice. Although I would prefer vstack as a more clear and reasonably performant option.
p.s. Of course, performance depends on the hardware and may vary. I want to show that there is no silver bullet in this case.


