2016-09-29 114 views
3

我使用的數據幀在朱莉婭0.5.1-pre + 2從github本地拉和建立,我也嘗試了Mac dmg下載0.5以及我和我無法理解如何正確使用可空數組和空數組。在朱莉婭-0.5使用基數學運算符與朱莉婭可以0 -

df = DataFrame(x=rand(20), y=rand(20)) 

mean(df[:x]) 
ERROR: MethodError: no method matching /(::Nullable{Float64}, ::Int64) 

所以這個錯誤似乎在告訴我,這個操作不是可空{}浮動和Int定義,只是想喜歡

Nullable(2.)/1 

的操作會導致同樣的錯誤。

我很困惑,雖然從documentation爲DataFrames雖然,因爲它表明類似的操作:

mean(df[1]) 
median(df[1]) 

mean(df[:A]) 
median(df[:A]) 

df = DataFrame(A = 1:4, B = randn(4)) 
colwise(cumsum, df) 

時,我的機器上執行所有這一切都導致類似未定義的方法錯誤。

我不確定這是否是當前生態系統中的正確行爲或構建/軟件包版本問題。

+0

我不認爲Nullable示例應該可以正常工作,但應該使用DataFrame。 –

+0

我已經嘗試過你的第一個例子,並在我的Macbook中工作。我已經安裝了朱莉婭自制酒桶。你可能想嘗試一下。 – merch

+0

@merch Julia是什麼版本? – lbollar

回答

0

出於某種原因,您安裝了DataFrames的開發(主)版本。如果您在某個時候運行了Pkg.checkout("DataFrames"),可能會出現這種情況。

DataFrames正在經歷一次重大的重寫,因此很多事情可能無法在開發版本上正常工作。發行版本應該正常工作。刪除你的.julia文件夾讓你回到發佈版本。

您可以使用Pkg.status函數檢查包裝的狀態。例如:

julia> Pkg.status("DataFrames") 
    - DataFrames     0.8.4 

如果有任何軟件包安裝了它的主版本,那麼將在結果中指定它。

julia> Pkg.status("JavaCall") 
    - JavaCall      0.4.2+    master 

該功能沒有任何參數Pkg.status()將顯示所有包的狀態。