我在pandas数据框中执行了一个分组,以查看每个位置和每个日期的行数。
agg_count = df.groupby(['date', 'location']).count()
现在我想看到满足特定条件的新数据帧的行。比方说,count大于50.如何有效地迭代这个庞大的数据帧以获取这些行?
答案 0 :(得分:0)
从这个数据开始
In [275]: df = pd.DataFrame({'date': [20130101, 20130101, 20130102], 'location': ['a', 'a', 'c']})
In [276]: df
Out[276]:
date location
0 20130101 a
1 20130101 a
2 20130102 c
这会选择计数>的列1
In [277]: df.groupby(['date', 'location']).apply(lambda sdf: sdf if len(sdf) > 1 else None)
Out[277]:
date location
date location
20130101 a 0 20130101 a
1 20130101 a
删除下面的多索引
In [278]: df.groupby(['date', 'location']).apply(lambda sdf: sdf if len(sdf) > 1 else None).reset_index(drop=True)
Out[278]:
date location
0 20130101 a
1 20130101 a