【发布时间】:2014-03-11 08:39:36
【问题描述】:
我在 pandas 中有一个数据框,想获取某个列中出现超过 X 次的所有值。我知道这应该很容易,但不知何故,我目前的尝试并没有取得任何进展。
这是一个例子:
>>> df2 = pd.DataFrame([{"uid": 0, "mi":1}, {"uid": 0, "mi":2}, {"uid": 0, "mi":1}, {"uid": 0, "mi":1}])
>>> df2
mi uid
0 1 0
1 2 0
2 1 0
3 1 0
现在假设我想从“mi”列中获取出现超过 2 次的所有值,结果应该是
>>> <fancy query>
array([1])
我已经尝试了一些关于 groupby 和 count 的事情,但我总是以一系列的值和它们各自的计数结束,但不知道如何从中提取计数超过 X 的值:
>>> df2.groupby('mi').mi.count() > 2
mi
1 True
2 False
dtype: bool
但是我现在如何使用它来获得 mi 的真实值?
任何提示表示赞赏:)
【问题讨论】: