如何仅在Mathematica中基于列表项的一部分删除重复项

时间:2015-03-23 07:30:21

标签: wolfram-mathematica

我有以下数据集(只显示快照)

data = {{0.1, 0.2, 5}, {0.1, 0.3, 7}, {0.2, 0.2, 1}, {0.1, 0.2, 9}}

换句话说,数据的格式为{A,B,C}。 我想根据A& amp;删除重复内容。只有B. 我想输出(有效地删除示例中的最后一项)

{{0.1, 0.2, 5}, {0.1, 0.3, 7}, {0.2, 0.2, 1}}

DeleteDuplicates [data]对我不起作用,因为它在重复检测和删除中使用了所有A,B和C.

1 个答案:

答案 0 :(得分:2)

DeleteDuplicates的文档中或多或少地解释了这一点。

DeleteDuplicates[data, Take[#1, 2] == Take[#2, 2] &]

应该做你想要的:它将 data (#1和#2)的任意两个第一级元素的相等函数定义为前两个子元素的相等(这就是Take [...,2]确实。)