julia数据帧更改一个单元格会更改整行

时间:2016-09-04 19:39:05

标签: dataframe julia

考虑以下代码,我只想更改1个单元格,但整个行都会更改:

df=DataFrames.DataFrame(A=[1,2],B=[3,4])

df[2,:A]=7 # this is OK, changes only 1 cell

df[:,1:end]=0.0 # this line somehow makes the change in the next line behave unexpectedly

df[2,:A]=7 # entire 2nd row is 7

好像df[:,1:end]=0.0将该行的所有单元格设置为相同的引用;但我将它设置为0.0,所以我希望这是一个值副本,而不是参考副本

版本: 朱莉娅版本0.4.6-pre DataFrames v“0.7.8”

1 个答案:

答案 0 :(得分:4)

这里有一些混叠。我认为这是DataFrames中的一个错误,尽管它可能是预期的行为,虽然很奇怪。发生的事情是两列都使用了相同的底层数据。请参阅#1052

作为解决方法,您可以逐个设置列:

for c in 1:size(df, 2)
    df[:,c] = 0.0
end