【问题标题】:Python Value error using Pandas and Anaconda使用 Pandas 和 Anaconda 的 Python 值错误
【发布时间】: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


【解决方案1】:

哪个版本的熊猫?这看起来像是 v0.12(第一个带有 filter 的版本)中的错误,已在 v0.13 中修复。更新为conda update pandas

【讨论】:

    【解决方案2】:

    事实证明@DanAllan 是对的。结果是 0.12 v 的 pandas 出现了错误。我已经更新到 0.14(测试版),它似乎工作正常。感谢您的所有帮助。

    【讨论】:

    • 要清楚(对于未来的读者)v0.13 就足够了;你不需要 0.14 开发版本来避免这个错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-19
    • 2021-08-26
    • 2021-02-27
    • 2019-12-03
    相关资源
    最近更新 更多