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]]


525
526
527
528
529
530
531
532
533
534
535
# File 'lib/numo/narray/extra.rb', line 525

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