我有以下形式的熊猫数据框:
head relation tail
0 two DistinctFrom one
2 two IsA number
12 one Antonym two
15 one IsA number
从上面的数据框中,我只想保留一条记录,其中头实体与尾实体相同,尾实体与头实体相同。例如,从索引为零和索引为12的Recodr中,我只想保留一个,可以是第一个或最后一个,任何事情都可以做。
例如,保留第一条记录后,最终数据帧将如下所示:
head relation tail
0 two DistinctFrom one
2 two IsA number
15 one IsA number
要么
保留最后一条记录时,数据帧会像
头尾关系
2个两个IsA号
12一反义词二
15个IsA号码
谢谢。
最佳答案
一种方法是同时使用head
和tail
列对数据框建立索引,对sort
进行索引并检查哪些是duplicated
:
df.loc[~df[['head','tail']].T.apply(sorted).T.duplicated()]
head relation tail
0 two DistinctFrom one
2 two IsA number
15 one IsA number
关于python - 如何从 Pandas 数据框中删除相互记录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56076742/