【发布时间】:2014-02-20 08:57:10
【问题描述】:
ValueError:The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
我有一个包含许多列的数据框,其中之一是 user_id。
我尝试使用以下代码行来限制数据框中条目少于 10 个的用户:
myDF.groupby("user_id").filter(lambda x:len(x)>10)
myDF.groupby 的值应该是一个字典,键为 user_ids,对应的值为整数列表(代表餐厅代码)。
但是我收到了前面提到的 valueError。我无法弄清楚为什么会发生这种情况,因为这适用于以前版本的 pandas(当我在 Enthought Canopy 工作时)。但最近我通过 Continuum 分析切换到 anaconda,这个问题似乎正在发生。有谁知道我在这里可能做错了什么?
【问题讨论】:
-
哪个版本的熊猫?这看起来像是 v0.12(第一个带有
filter的版本)中的错误,已在 v0.13 中修复。更新为conda update pandas。 -
@DanAllan 这就是答案:)
-
是的,我认为是这样。只是想在改变东西之前确定一下。会检查并回复。
-
@DanAllan 你应该发表你的评论作为答案......
标签: python numpy group-by pandas