Method: Charty::VectorAdapters::NArrayAdapter#group_by
- Defined in:
- lib/charty/vector_adapters/narray_adapter.rb
#group_by(grouper) ⇒ Object
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/charty/vector_adapters/narray_adapter.rb', line 109 def group_by(grouper) case grouper when Charty::Vector # nothing to do else grouper = Charty::Vector.new(grouper) end group_keys = grouper.unique_values case grouper.data when Numo::NArray grouper = grouper.data else grouper = Numo::NArray[*grouper.to_a] end group_keys.map { |g| [g, Charty::Vector.new(data[grouper.eq(g)])] }.to_h end |