diff --git a/lib/daru/dataframe.rb b/lib/daru/dataframe.rb index a67805406..5388cf61a 100644 --- a/lib/daru/dataframe.rb +++ b/lib/daru/dataframe.rb @@ -1356,6 +1356,9 @@ def vectors= new_index end @vectors = new_index + @data.zip(new_index.to_a).each do |vect, name| + vect.name = name + end self end diff --git a/spec/dataframe_spec.rb b/spec/dataframe_spec.rb index b5165cf24..07a357b4b 100644 --- a/spec/dataframe_spec.rb +++ b/spec/dataframe_spec.rb @@ -2594,6 +2594,13 @@ @df.vectors = Daru::Index.new([1,2,'3',4,'5']) }.to raise_error(ArgumentError) end + + it "change name of vectors in @data" do + new_index_array = [:k, :l, :m] + @df.vectors = Daru::Index.new(new_index_array) + + expect(@df.data.map { |vector| vector.name }).to eq(new_index_array) + end end context "#rename_vectors" do