2014-10-05 39 views
1

我有一个由两列(ID和名称)排序的数据帧:最后两个排序大熊猫独特的条目数据帧

ix id  Value Name 

39 837  Value1 Name1 
40 838  Value2 Name1 
16 811  Value3 Name2 
26 821  Value4 Name2 
27 822  Value5 Name2 
10 805  Value6 Name3 
11 806  Value7 Name3 

Id喜欢与最后两个唯一值返回一个数据帧为每名例如

ix id  Value Name 

39 837  Value1 Name1 
40 838  Value2 Name1 
26 821  Value4 Name2 
27 822  Value5 Name2 
10 805  Value6 Name3 
11 806  Value7 Name3 

每个名称可能有多个“值”,而不仅仅是本示例中给出的值。 任何想法如何做到这一点?

回答

0

这应该这样做

df.groupby('Name')\      
    .apply(lambda x: x.drop_duplicates()\ # find unique elements 
        .tail(2))\   # last two 
    .reset_index(level=0, drop=True)  # remove groupby index 
+0

这得到了它。高手。感谢您的帮助和迅速回复! – user3182080 2014-10-05 15:24:01

+0

@ user3182080,很高兴听到!如果解决了您的问题,请不要忘记将答案标记为已接受。 – elyase 2014-10-05 15:25:16