从pandas数据帧中选择特定行

时间:2013-03-26 13:38:02

标签: python numpy pandas

我在pandas数据框中执行了一个分组,以查看每个位置和每个日期的行数。

agg_count = df.groupby(['date', 'location']).count()

现在我想看到满足特定条件的新数据帧的行。比方说,count大于50.如何有效地迭代这个庞大的数据帧以获取这些行?

1 个答案:

答案 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