1
我有圖形內容的熊貓數據幀,我需要檢查使用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
在這種情況下,源之間的聯繫「 A'和目的地'B'在從'B'到'A'的DataFrame中具有匹配的鏈接。因此,我可以認爲這是一對雙向鏈接。行0和行4也是雙向鏈接...
'B'和'C'之間的鏈接沒有從'C'到'B'的相應反向鏈接。
StackOverflow社區有關如何識別哪些鏈接具有匹配的雙向鏈接的建議?換句話說,哪些行有匹配的行,其中兩列中的值是交換/交換的?
所得的數據幀,看起來像這可能工作:
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
您可以提供任何援助表示讚賞。
更新: 要去添加到此,基於該acushner提供,把他解決的主要問題,然後填充數據框如圖所示的結果數據框上方的非常好的答案。
>>> 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
是的,你說得對,認爲我的回答看起來不太好,會刪除,巧妙回答 – EdChum