问题描述
我有一个df:
df = pd.DataFrame({'src':['LV','LA','NC','NY','ABC','XYZ'],'dest':['NC','LV','XYZ','ABC'],'dummy':[1,3,6,7,8,10]})
src dest dummy
LV NC 1
LA NY 3
NC LV 6
NY LA 7
ABC XYZ 8
XYZ ABC 10
我通过以下方式运行它:
df['pair'] = df[['src','dest']].apply(lambda x : tuple(set(x)),1).factorize()[0] + 1
尝试取消唯一对,例如(a-> b,b-> a)
我正确地以这个结尾:
src dest dummy pair
LV NC 1 1
LA NY 3 2
NC LV 6 1
NY LA 7 2
ABC XYZ 8 3
XYZ ABC 10 3
但是,有时当我运行它时,我最终会出错:
src dest dummy pair
LV NC 1 1
LA NY 3 2
NC LV 6 1
NY LA 7 2
ABC XYZ 8 3
XYZ ABC 10 4
如您所见,由于某种原因,最后一个元素未正确配对为“ 3”。这是随机发生的。我可以通过注释掉“配对”代码,运行脚本以制作和打印df,然后取消注释并再次尝试来重现此代码。通过运行其他修改,您也许可以通过其他方式重现此内容。
如何解决这种不确定性行为?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)