2015-12-20 38 views

回答

2

是的,你可以。

對於Daru::Vector對象使用#push方法,像這樣:

require 'daru' 
v = Daru::Vector.new([1,2,3], index: [:a,:b,:c]) 
v.push(23, :r) 
v 
#=> 
#<Daru::Vector:74005360 @name = nil @size = 4 > 
# nil 
# a 1 
# b 2 
# c 3 
# r 23 

對於Daru::DataFrame設置一個新的載體,調用#[]=方法與[]內的新名稱。您可以分配一個Daru::VectorArray

如果您指定Daru::Vector,數據將對齊,以便DataFrame和Vector的索引匹配。

例如,

require 'daru' 
df = Daru::DataFrame.new({a: [1,2,3], b: [5,6,7]}) 
df[:r] = [11,22,33] 
df 
# => 
#<Daru::DataFrame:73956870 @name = c8a65ffe-217d-43bb-b6f8-50d2530ec053  @size = 3> 
#     a   b   r 
#   0   1   5   11 
#   1   2   6   22 
#   2   3   7   33 

您在已DataFrame#row[]=法一行。例如,使用先前的數據幀df

df.row[:a] = [23,35,2] 
df 
#=> 
#<Daru::DataFrame:73956870 @name = c8a65ffe-217d-43bb-b6f8-50d2530ec053 @size = 4> 
#     a   b   r 
#   0   1   5   11 
#   1   2   6   22 
#   2   3   7   33 
#   a   23   35   2 

分配一個Daru::Vector將根據Daru::DataFrame的矢量的名字一致。

你可以在these notebooks查看更多詳細信息。

希望這回答你的問題。