Я не уверен, является ли это реальной проблемой или я просто что-то не так делаю, но в данный момент это кажется мне немного странным.
При использовании DataFrames я сталкивался спроблема, где, если вы копируете DataFrame
в другую переменную, то любые изменения, внесенные в одну из переменных, изменяют обе.Это относится и к отдельным столбцам.Например:
julia> x = DataFrame(A = ["pink", "blue", "green"], B = ["yellow", "red", "purple"]);
julia> y = x;
julia> x[x.A .== "blue", :A] = "red";
julia> x
3×2 DataFrame
│ Row │ A │ B │
├─────┼───────┼────────┤
│ 1 │ pink │ yellow │
│ 2 │ red │ red │
│ 3 │ green │ purple │
julia> y
3×2 DataFrame
│ Row │ A │ B │
├─────┼───────┼────────┤
│ 1 │ pink │ yellow │
│ 2 │ red │ red │
│ 3 │ green │ purple │
То же самое происходит и со столбцами, поэтому, если бы вы сказали, что установите DataFrame
, как указано выше, но используйте B = A
, прежде чем я включу оба в кадр данных, тогда, еслизначения в одном столбце изменяются, другой также автоматически изменяется.
Мне это кажется странным, и, возможно, это особенность других языков программирования, но я много раз делал то же самое, что и выше в R, когдасоздавая резервную копию таблицы данных или обмениваясь данными между столбцами, никогда не сталкивался с этой проблемой.Таким образом, вопрос в том, работает ли он так, как задумано, и есть ли правильный способ копирования значений между фреймами данных?
Я использую версию Julia 0.7.0, так как я изначально установил 1.0.0 через репозиторий Manjaro и имелпроблемы с Is_windows()
при попытке собрать Tk.