我想过滤掉频率小于n的值,我的情况中n为2。
理想情况下,我希望结果以数据框的形式呈现如下内容(1 的频率不被排除)。
df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar', 'foo', 'bar','foo', 'bar', 'foo', 'bar',],'B' : ['yes', 'no', 'yes', 'no', 'no', 'yes','yes', 'no', 'no', 'no']})
df.groupby('A')['B'].value_counts()
A B
bar no 4
yes 1
foo yes 3
no 2
Name: B, dtype: int64
理想情况下,我希望结果以数据框的形式呈现如下内容(1 的频率不被排除)。
A B freq
bar no 4
foo yes 3
foo no 2
我已经尝试过
df.groupby('A')['B'].filter(lambda x: len(x) > 1)
但是这种方法失败了,因为groupby返回的是一个系列数据结构