cbind (R function) equivalent in numpy

stackoverflax picture stackoverflax · May 14, 2017 · Viewed 7.1k times · Source

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

Answer

stackoverflax picture stackoverflax · May 14, 2017

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.