1

次の場所にある例を使用して、pandas で groupby の結果をフィルタリングしようとしています。

http://pandas.pydata.org/pandas-docs/dev/groupby.html#filtration

しかし、次のエラーが発生します (pandas 0.12):

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-12-d0014484ff78> in <module>()
      1 grouped = my_df.groupby('userID')
----> 2 grouped.filter(lambda x: len(x) >= 5)

/Users/zz/anaconda/lib/python2.7/site-packages/pandas/core/groupby.pyc in filter(self, func, dropna, *args, **kwargs)
   2092                 res = path(group)
   2093 
-> 2094             if res:
   2095                 indexers.append(self.obj.index.get_indexer(group.index))
   2096 

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

それは何を意味し、どのように解決できますか?

編集: pandas 0.12 安定版で問題を再現するコード

dff = pd.DataFrame({'A': list('222'), 'B': list('123'), 'C': list('123') })
dff.groupby('A').filter(lambda x: len(x) > 2)
4

1 に答える 1