我有一个包含很多条目的数据集。这些条目中的每一个都属于某个ID(belongID),条目是唯一的(具有uniqID),但多个条目可以来自同一个源(sourceID)。来自同一来源的多个条目也可能具有相同的belongID。出于研究的目的,我需要对数据集进行研究,我必须删除单个 sourceID 的条目,这些条目对于 1 个belongID 出现超过 5 次。最多需要保留 5 个条目是具有最高“时间”值的条目。
为了说明这一点,我有以下示例数据集:
belongID sourceID uniqID Time
1 1001 101 5
1 1002 102 5
1 1001 103 4
1 1001 104 3
1 1001 105 3
1 1005 106 2
1 1001 107 2
1 1001 108 2
2 1005 109 5
2 1006 110 5
2 1005 111 5
2 1006 112 5
2 1005 113 5
2 1006 114 4
2 1005 115 4
2 1006 116 3
2 1005 117 3
2 1006 118 3
2 1005 119 2
2 1006 120 2
2 1005 121 1
2 1007 122 1
3 1010 123 5
3 1480 124 2
最后的示例应如下所示:
belongID sourceID uniqID Time
1 1001 101 5
1 1002 102 5
1 1001 103 4
1 1001 104 3
1 1001 105 3
1 1005 106 2
1 1001 107 2
2 1005 109 5
2 1006 110 5
2 1005 111 5
2 1006 112 5
2 1005 113 5
2 1006 114 4
2 1005 115 4
2 1006 116 3
2 1005 117 3
2 1006 118 3
2 1007 122 1
3 1010 123 5
3 1480 124 2
文件中有更多包含数据条目的列,但选择必须完全基于时间。如示例中所示,具有相同belowID 的sourceID 的第5 个和第6 个条目也可能具有相同的时间。在这种情况下,只需要选择 1,因为 max=5。
出于说明目的,此处的数据集按belongID 和时间很好地排序,但在实际数据集中并非如此。知道如何解决这个问题吗?我还没有遇到类似的东西..