Here's the behavior I want:
import numpy as np
x = np.array([[1,2],[3,4]])
y = np.array([5, 6])
cbind(x,y) # desired result: np.array([[1,2,5],[3,4,6]])
Seems like it should be easy, but the options I found on http://mathesaurus.sourceforge.net/r-numpy.html (concatenate, hstack, etc.) don't work, e.g.:
np.hstack((x,y))
gives
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "X/site-packages/numpy/core/shape_base.py", line 288, in hstack
return _nx.concatenate(arrs, 1)
ValueError: all the input arrays must have same number of dimensions
More googling found the following answer https://stackoverflow.com/a/8505658/1890660:
np.c_[x,y]
gives
array([[1, 2, 5],
[3, 4, 6]])
I'll leave it to the StackOverflow stylistas to decide whether I should delete this entire question as a duplicate.
Using Column Stack will do the trick:
https://numpy.org/doc/stable/reference/generated/numpy.column_stack.html
Example: this will cbind the two 4 X 1 vector together
a = np.random.randn(4,1)
b = np.random.randn(4,1)
np.column_stack((a,b))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With