Выбор одной строки из фрейма данных возвращает DataFrameRow
, который является представлением строки в исходном фрейме данных. Поэтому любые изменения, внесенные вами в DataFrameRow
, будут отражены в исходном фрейме данных:
julia> using DataFrames
julia> df = DataFrame(a=1:3, b=4:6)
3×2 DataFrame
│ Row │ a │ b │
│ │ Int64 │ Int64 │
├─────┼───────┼───────┤
│ 1 │ 1 │ 4 │
│ 2 │ 2 │ 5 │
│ 3 │ 3 │ 6 │
julia> dfr = df[2, :]
DataFrameRow
│ Row │ a │ b │
│ │ Int64 │ Int64 │
├─────┼───────┼───────┤
│ 2 │ 2 │ 5 │
julia> dfr.b = 100
100
julia> df
3×2 DataFrame
│ Row │ a │ b │
│ │ Int64 │ Int64 │
├─────┼───────┼───────┤
│ 1 │ 1 │ 4 │
│ 2 │ 2 │ 100 │
│ 3 │ 3 │ 6 │
Конечно, если вы просто хотите изменить значения нескольких записей в строке, вы можете сделать непосредственно без необходимости создавать DataFrameRow
:
julia> df = DataFrame(a=1:3, b=4:6)
3×2 DataFrame
│ Row │ a │ b │
│ │ Int64 │ Int64 │
├─────┼───────┼───────┤
│ 1 │ 1 │ 4 │
│ 2 │ 2 │ 5 │
│ 3 │ 3 │ 6 │
julia> df[2, :] = [101, 102]
2-element Array{Int64,1}:
101
102
julia> df
3×2 DataFrame
│ Row │ a │ b │
│ │ Int64 │ Int64 │
├─────┼───────┼───────┤
│ 1 │ 1 │ 4 │
│ 2 │ 101 │ 102 │
│ 3 │ 3 │ 6 │