gpt4 book ai didi

python - 消除无向网络中的重复连接

转载 作者:太空宇宙 更新时间:2023-11-03 20:03:48 25 4
gpt4 key购买 nike

我在数据框中有一个无向连接网络。

    Source_ID    Target_ID
0 1 5
1 7 2
2 12 6
3 3 9
4 16 11
5 2 7 <------The same as row 1
6 4 8
7 5 1 <------The same as row 0
8 99 81

但是由于这是一个无向网络,第 0 行和第 7 行在技术上是相同的,第 1 行和第 5 行也是如此。df.drop_duplicates() 不够聪明,不知道如何将它们作为重复项消除,因为它将它们视为两个不同的行,至少就我的尝试而言是这样。

我还尝试了我认为应该有效的方法,即使用 Source_IDTarget_ID 的索引并将 Source_ID 设置为“较低”比target_ID。但这似乎也没有产生我需要的结果。

df.drop(df.loc[df['Target_ID'] < d['Source_ID']]
.index.tolist(), inplace=True)

因此,我需要找到一种方法来删除重复的连接(同时保留第一个连接),以便我的固定数据帧看起来像(索引重置后):

    Source_ID    Target_ID
0 1 5
1 7 2
2 12 6
3 3 9
4 16 11
5 4 8
6 99 81

最佳答案

当然不是最有效的,但可能可以完成这项工作:

df.apply(lambda row: pd.Series() if row[::-1].values in df.values \
and row[0] < row[1] else row, axis=1).dropna().reset_index(drop=True)

关于python - 消除无向网络中的重复连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59081386/

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