gpt4 book ai didi

python - 将 pandas DataFrame 中的两列与相反的列进行比较

转载 作者:太空宇宙 更新时间:2023-11-04 10:34:14 24 4
gpt4 key购买 nike

我有一个带有图形内容的 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

在这种情况下,源“A”和目标“B”之间的链接在 DataFrame 中具有从“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

感谢您提供的任何帮助。

更新:基于 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

最佳答案

你可以这样做:

(df.src + df.dest).isin(df.dest + df.src)

关于python - 将 pandas DataFrame 中的两列与相反的列进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24437166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com