Method: Numo::NArray.hstack

Defined in:
lib/numo/narray/extra.rb

.hstack(arrays) ⇒ Object

Stack arrays horizontally (column wise).

Examples:

a = Numo::Int32[1,2,3]
b = Numo::Int32[2,3,4]
Numo::NArray.hstack([a,b])
# => Numo::Int32#shape=[6]
# [1, 2, 3, 2, 3, 4]

a = Numo::Int32[[1],[2],[3]]
b = Numo::Int32[[2],[3],[4]]
Numo::NArray.hstack([a,b])
# => Numo::Int32#shape=[3,2]
# [[1, 2],
#  [2, 3],
#  [3, 4]]


513
514
515
516
517
518
519
520
521
522
523
# File 'lib/numo/narray/extra.rb', line 513

def hstack(arrays)
  klass = (self==NArray) ? NArray.array_type(arrays) : self
  nd = 0
  arys = arrays.map do |a|
    a = klass.cast(a)
    nd = a.ndim if a.ndim > nd
    a
  end
  dim = (nd >= 2) ? 1 : 0
  concatenate(arys,axis:dim)
end