上一个问题:Pandas Compare two dataframes and determine the matched values
我有两个数据帧:
print(a)
ID Value
0 AA12 101 BB101 CC01 DD06 1
1 AA12 101 BB101 CC01 DD06 2
2 AA11 102 BB101 CC01 2341 DD07 2
3 AA10 202 BB101 CC01 3451 DD09 3
4 AA13 103 BB101 CC02 1231 4
5 AA14 203 BB101 CC02 4561 5
print(b)
ID Value
0 AA12 101 BB101 CC01 1351 DD06 1
1 AA12 101 BB101 CC01 1351 DD06 2
2 AA11 102 BB101 CC01 DD07 2
3 AA10 202 BB101 CC01 3451 DD09 3
4 AA13 103 BB101 CC02 4
5 AA14 203 BB101 CC02 4561 6
期望输出:
^{pr2}$以下是@MaxU在上一篇文章中写的代码:
pd.merge(a.assign(x=a.ID.str.split().apply(sorted).str.join(' ')),
b.assign(x=b.ID.str.split().apply(sorted).str.join(' ')),
on=['x','Value'],
how='outer',
indicator=True)
我想要实现的目标:
此代码的结果是here。不幸的是,它没有达到预期的效果。只有索引3匹配。我正在修改代码,但无法确定下一步。在
非常感谢您的时间和考虑!在
试试这个:
首先,让我们在两个DFs中拆分和堆栈ID列:
现在我们可以搜索
^{pr2}$'not matched'
id:结果:
相关问题 更多 >
编程相关推荐