我的数据结构如下:
Row UPC Ref Supplier
1 A1 B1 C1
2 A2 B2 C2
3 A3 B3 C3
4 A4 B5 C4
5 A5 B1 C5
6 A3 B2 C6
7 A1 B5 C7
8 A5 B3 C8
现在,如果匹配" Ref"我希望为每一行分配组号。专栏或" UPC"任何行中的列。例如:如果我从第1行开始,我会寻找" A1"在第2行到第8行的第一列中。匹配是第7行。现在第1行和第7行的Ref列与第4行和第5行匹配,因此它们也将成为同一组的一部分。因此,第一组将是第1,4,5和7行。与剩余项目类似。
输出将是:
Row UPC Ref Sup Group
1 A1 B1 C1 1
4 A4 B5 C4 1
5 A5 B1 C5 1
7 A1 B5 C7 1
2 A2 B2 C2 2
6 A3 B2 C6 2
3 A3 B3 C3 3
8 A5 B3 C8 3
请注意我使用Python进行编码并使用sqlite存储数据。
我真的很感激任何帮助。
答案 0 :(得分:0)
这不是群集,而是连接的组件。
如果两个记录在任一列中具有相同的值,则它们已连接,并且您希望查找所有已连接的组件。这里没有必要做任何特别的事情,只是尝试实现它。
如果您想节省一些精力,请使用false
让数据库完成一半的工作。