2014-01-28 48 views
3
ValueError:The truth value of an array with more than one element is ambiguous. Use a.any() or a.all() 

我有一個數據幀,其中有許多列,其中之一是user_id。使用Pandas和Anaconda的Python值錯誤

我試試下面的代碼行誰在數據幀小於10項門檻用戶:

myDF.groupby("user_id").filter(lambda x:len(x)>10) 

myDF.groupby的值應與按鍵作爲user_ids和相應的值列表的字典整數(代表餐廳代碼)。

但我收到上述的valueError。我無法弄清楚爲什麼會發生這種情況,因爲這與以前版本的熊貓一起工作(當時我正在研究Enthought Canopy)。但最近我通過Continuum分析切換到anaconda,這個問題似乎正在發生。有誰知道我可能在這裏做錯了嗎?

+4

哪個版本的熊貓?這看起來像v0.12中的一個bug(第一個帶有「filter」的版本),它在v0.13中得到了修復。用''conda update pandas''更新。 –

+0

@DanAllan這就是答案:) –

+0

是的我認爲是這樣。只是想在更換東西前確定。將檢查並回復。 – anonuser0428

回答

1

哪個版本的熊貓?這看起來像v0.12中的bug(第一個版本爲filter),在v0.13中已修復。更新conda update pandas

0

原來@DanAllan是對的。結果發現有0.12 v的熊貓有錯誤。我已經更新到0.14(測試版),它似乎工作正常。感謝你的幫助。

+0

要明確(對於未來的讀者)v0.13將是足夠的;你不需要0.14開發版來避免這個bug。 –