我有一个按两列(id和Name)排序的dataframe:
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我想返回一个数据帧,每个名称的最后两个唯一值。
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每个名称可能有多个“值”,而不仅仅是本例中给出的值。有什么想法可以做到吗?
发布于 2014-10-05 23:15:36
这应该就行了
df.groupby('Name')\
.apply(lambda x: x.drop_duplicates()\ # find unique elements
.tail(2))\ # last two
.reset_index(level=0, drop=True) # remove groupby indexhttps://stackoverflow.com/questions/26203855
复制相似问题