我有一个包含几列的数据集。现在我想要的是基本上根据特定列(“名称”)计算分数,但在“id”列上分组。
_id fName lName age
0 ABCD Andrew Schulz
1 ABCD Andreww 23
2 DEFG John boy
3 DEFG Johnn boy 14
4 CDGH Bob TANNA 13
5 ABCD. Peter Parker 45
6 DEFGH Clark Kent 25
Run Code Online (Sandbox Code Playgroud)
所以我正在寻找的是,对于相同的 id,我是否得到了类似的条目,因此我可以根据阈值分数值删除这些条目。就像这里,如果我为 col“fName”运行它。我应该能够根据分数阈值减少这个数据框:
_id fName lName age
0 ABCD Andrew Schulz 23
2 DEFG John boy 14
4 CDGH Bob TANNA 13
5 ABCD Peter Parker 45
6 DEFG Clark Kent 25
Run Code Online (Sandbox Code Playgroud)
我打算使用pyjarowinkler。如果我有两个独立的列(没有所有分组的东西)要检查,这就是我使用它的方式。
df['score'] = [distance.get_jaro_distance(x, y) for x, y in zip(df['name_1'],df['name_2'])]
df …Run Code Online (Sandbox Code Playgroud) 我有一个数据框,其中一列作为对,另一列作为键。我想创建一组链接索引链:
match1 match2
0 12 5
1 34 12
2 18 29
3 69 31
4 33 34
5. 15 69
Run Code Online (Sandbox Code Playgroud)
我想得到一个输出,将所有连接的组件链接到列表中,可能是这样的:
[12,5,34,33], [18,29], [69, 31, 15]
Run Code Online (Sandbox Code Playgroud)
编辑:我之前试过这个。
rev_matches = df[['match1', 'match2']]
rev_matches['match_list'] = rev_matches.values.tolist()
rev_matches = rev_matches[['match_list']]
rev_matches['Key'] = rev_matches.index
rev_matches = rev_matches.explode('match_list')
G = nx.from_pandas_edgelist(rev_matches, 'match_list', 'Key')
l = list(nx.connected_components(G))
Run Code Online (Sandbox Code Playgroud)
现在这也没有奏效。建立的联系不准确。有人也可以解释我这错在哪里。谢谢