删除Python中类似的行

2024-09-30 10:31:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据如下所示:

    Source   Target    Value
1  Charlie     Mac 0.6530945
2   Dennis    Fank 0.7296234
3  Charlie   Frank 0.4750875
4      Mac  Dennis 0.3961787
5  Charlie  Dennis 0.6213751
6      Mac   Frank 0.9727454
7    Frank Charlie 0.4750875
8      Mac Charlie 0.6530945
9    Frank     Mac 0.9727454
10   Frank  Dennis 0.7296234
11  Dennis     Mac 0.3961787
12  Dennis Charlie 0.6213751

我有两列名称,第三列给出一个关系值。所以第1行和第8行基本相同,第2行和第10行基本相同,所以名称的顺序(source,target)无关紧要。我想做的是去掉这些不需要的行,得到这样的结果:

    Source  Target     Value
1  Charlie     Mac 0.6530945
2   Dennis    Fank 0.7296234
3  Charlie   Frank 0.4750875
4      Mac  Dennis 0.3961787
5  Charlie  Dennis 0.6213751
6      Mac   Frank 0.9727454

显然,在这个简单的示例中,我可以只返回前六行,但是我的数据集太大了。我不能只返回“Value”列中唯一的项,因为一些不相关的行可能具有相同的值。你知道吗


Tags: 数据frank名称sourcetarget关系顺序value
1条回答
网友
1楼 · 发布于 2024-09-30 10:31:24
df[~pd.DataFrame(np.sort(df[['Source', 'Target']], 1), df.index).duplicated()]

    Source  Target     Value
1  Charlie     Mac  0.653095
2   Dennis   Frank  0.729623
3  Charlie   Frank  0.475087
4      Mac  Dennis  0.396179
5  Charlie  Dennis  0.621375
6      Mac   Frank  0.972745

相关问题 更多 >

    热门问题