我在 pandas 数据框中执行了分组,以查看每个位置和每个日期有多少行。
agg_count = df.groupby(['date', 'location']).count()
现在我想查看这个新数据帧中满足特定条件的行。比如说,计数大于 50。我如何有效地迭代这个巨大的数据框来获取这些行?
从这个数据开始
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