如果不满足条件,如何删除一组行?
How can I delete a group of rows if they don't satisfy a condition?
我有一个包含股票期权信息的数据框。我想过滤此数据框以便每个日期正好有 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'))
在这种特殊情况下,我想删除在日期“2013-01-02”中索引的行,因为我只想要具有 3 个连续行的日期。
第一组按指数计数
odf = df.groupby(df.index).count()
过滤数据帧并获得结果索引
idx = odf[odf['A'] == 3].index
select 按索引
df.loc[idx]
我有一个包含股票期权信息的数据框。我想过滤此数据框以便每个日期正好有 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'))
在这种特殊情况下,我想删除在日期“2013-01-02”中索引的行,因为我只想要具有 3 个连续行的日期。
第一组按指数计数
odf = df.groupby(df.index).count()
过滤数据帧并获得结果索引
idx = odf[odf['A'] == 3].index
select 按索引
df.loc[idx]