Sadece 1 hücreyi değiştirmek istediğiniz şu kodu göz önünde değiştirir, ancak tüm satırı değişti alır:Julia dataframe tüm satırı
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
O bunun df[:,1:end]=0.0
setleri ise tüm hücreleri olarak var aynı referansa satır; ama 0.0 bunu kuruyorum, bu yüzden bu
Sürümleri kopyalamak referans bir değer kopyası olmayabilir bekliyoruz: Julia sürüm 0.4.6 önceden DataFrames v "0.7.8"
O amaçlanan olabilir; Bana dilimlemek gibi görünüyor. Bunun yerine df [:,:] 'veya' df [1: son, 1: son] 'yaparsanız, amaçlandığı gibi çalışır. Benim tahminim df [:, 1: son] 'altta yatan sıralamayı değiştirir ve' = 0.' bir şekilde yayın olarak yorumlanır –
Belki de yayınlamayı gerçekleştirmek için başlık altında kullanılan bir "dolgu" komutu var, takma ismine neden oluyor? –
Merhaba Tasos, konuyla ilgili bazı tartışmalar var [# 1052] (https://github.com/JuliaStats/DataFrames.jl/pull/1052). –