在执行groupby之后删除数据帧的前两行

时间:2015-07-29 13:44:12

标签: python pandas

我正在尝试从我的数据框df中删除前两行,并使用this post中建议的答案。但是,我收到了错误AttributeError: Cannot access callable attribute 'ix' of 'DataFrameGroupBy' objects, try using the 'apply' method,并且不知道如何使用apply方法执行此操作。我已在下面显示了相关的代码行:

df = df.groupby('months_to_maturity')
df = df.ix[2:]

编辑:抱歉,当我的意思是我要删除前两行时,我应该说我想删除与每个months_to_maturity值相关联的前两行。

谢谢

1 个答案:

答案 0 :(得分:0)

这就是tail(-2)将要做的事情。但是,groupby.tail不会带负值,因此需要进行调整:

df.groupby('months_to_maturity').apply(lambda x: x.tail(-2))

这将为您提供所需的数据帧,但其索引现在是一个多索引。 如果您只想删除df中的行,只需使用drop,如下所示:

df.drop(df.groupby('months_to_maturity').head(2).index)