我有一个如下所示的数据框df。
我希望最终的数据帧如下所示。即,对于每个唯一的名称,仅最后两行必须出现在最终输出中。
我尝试了以下代码段,但无法正常工作。
df = df[df['Name']].tail(2)
答案 0 :(得分:1)
使用GroupBy.tail
:
df1 = df.groupby('Name').tail(2)
答案 1 :(得分:1)
使用GroupBy.nth
解决此问题的另一种方法:
df1 = df.groupby('Name').nth([-1,-2]) ## this will pick the last 2 rows