如果不满足条件,如何删除一组行?

时间:2020-10-10 16:24:12

标签: pandas python-2.7 dataframe filter rows

我有一个包含股票期权信息的数据框。我想过滤此数据框,以便每个日期有8个选项。问题在于某些日期只有6或7个选项。我想编写一个代码,以完全删除这组选项。The option dataframe that I want to filter

以这个小数据框为例:

dates = ['2013-01-01','2013-01-01','2013-01-01','2013-01-02','2013-01-02','2013-01-03','2013-01-03','2013-01-03']
df = pd.DataFrame(np.random.randn(8, 4), index=dates, columns=list('ABCD'))

在这种情况下,我只想删除具有连续3行的日期。

1 个答案:

答案 0 :(得分:0)

第一个按索引分组

odf = df.groupby(df.index).count()

过滤数据框并获取结果索引

idx = odf[odf['A'] == 3].index

按索引选择

df.loc[idx]