一点背景:
我有三个DOORS模块(A,B和C)相互跟踪,如下所示:
A --> B
A --> C
B --> C
B <-- A
C <-- A
C <-- B
我可以很容易地捕捉到这个跟踪&#39;通过导出当前模块跟踪的其他模块的ID。例如,A的导出表可能如下所示:
# A Table
| A | B | C |
=========================
| A_1 | B_1 | C_1 |
-------------------------
| A_2 | | C_3 |
-------------------------
| A_3 | B_4 | |
| | B_5 | |
-------------------------
虽然B和C看起来像这样:
# B Table # C Table
| A | B | C | | A | B | C |
========================= =========================
| A_1 | B_1 | C_1 | | A_1 | B_1 | C_1 |
------------------------- -------------------------
| | B_2 | C_3 | | A_2 | | C_3 |
------------------------- | A_4 | B_2 | |
| A_3 | B_4 | | -------------------------
-------------------------
| A_3 | B_5 | |
-------------------------
由于模块之间的跟踪可能不完整,我希望找到&#34;间隙&#34;在表格中。例如,A可能跟踪到C,B可能跟踪到C但不跟踪到彼此。
我已经能够捕获到每个表的Python DataFrames。我想做两件事:
识别缺失的痕迹:
例如,表A的A_2具有到C_3的轨迹。表B的B_2具有到C_3的踪迹。但是,A_2和B_2 不相互追踪。这是一个缺失的痕迹。
将这些结果合并为一个数据框而不是三个。
答案 0 :(得分:0)
我认为您的任务中最困难的部分是定义缺失的链接。您可能需要花费一些时间来评估各种可能的配置,因为它并不像看起来那么简单(或者相反,它可能非常简单)。
例如,如果表A包含A1,B1,B包含B1,C1和C包含A1,C1,那么这里有多少个缺失的链接?或者根本没有?如果任何表包含A1,B1,C1,它会有什么不同?
另一个例子:[A1,B1],[B1,C2],[B2,C2]。这里有多少缺失的链接?
你可以很容易地做出许多其他不那么简单的回答例子。
当你严格定义缺失的链接是什么时,你可以创建(也许,很容易)在你的表中找到它们的算法,无论它们是如何构造的:在3个表中或只在一个表中,可以形成使用原始表格中的连接,追加或并排连接。