我有一个带有图形内容的 Pandas DataFrame,我需要使用 Python 检查“双向性”...
src dest val1 val2
0 A B 8 9
1 B A 8 9
2 B C 7 8
3 D C 5 6
4 B A 5 6
Run Code Online (Sandbox Code Playgroud)
在这种情况下,源“A”和目标“B”之间的链接在数据帧中从“B”到“A”有一个匹配的链接。因此,我可以认为这是一对双向链接。第 0 行和第 4 行也是双向链接...
“B”和“C”之间的链接没有从“C”到“B”的相应反向链接。
StackOverflow 社区关于如何识别哪些链接具有匹配的双向链接的任何建议?或者换句话说,哪些行有一个匹配行,其中两列中的值被转置/交换?
看起来像这样的结果 DataFrame 可能会起作用:
src dest val1 val2 bidir
0 A B 8 9 True
1 B A 8 9 True
2 B C 7 8 False
3 D C 5 6 False
4 B A 5 6 True
Run Code Online (Sandbox Code Playgroud)
感谢您提供的任何帮助。
更新: 基于 acushner 提供的非常好的答案,将添加到此内容中,将他的解决方案用于主要问题,然后填充 DataFrame,如上面生成的 DataFrame 所示。
>>> df['bidir'] = (df.src + df.dest).isin(df.dest + df.src)
>>> print a
src dest val1 val2 bidir
0 A B 8 9 True
1 B A 8 9 True
2 B C 7 8 False
3 D C 5 6 False
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3243 次 |
| 最近记录: |