我需要在一个变量的函数中合并2个数据帧,但我需要一个与相等条件不同的合并条件。 我的第一个数据帧(350行):
var11 var12
id11 [a, b, c]
id12 [d, a]
id13 [e, f]
我的第二个数据帧(大约100万行):
var21 var22
id21 [a, b, e, g]
id22 [d, a, q]
id23 [d, a, b]
我想合并这两个数据帧,条件是每个var22和var12的列表的交集长度大于或等于2。你知道吗
我想要的是:
var11 var12 correspondance
id11 [a, b, c] id21
id11 [a, b, c] id23
id12 [d, a] id23
id12 [d, a] id22
id13 [e, f] NaN
我已经有了一个使用map
和lambda
函数迭代其他数据帧的解决方案,但是在Python中它需要太多时间,特别是考虑到我的数据帧的大小。我想知道是否有一个简单的方法来做它与熊猫或任何其他方式在Python。如果没有,我可以考虑使用数据库。你知道吗
希望我说得够清楚,如果我不清楚,请告诉我。你知道吗
编辑:
我的解决方案是,把所有的问题都列在一个清单上:
df1["correspondance"] = df1["var12"].map(lambda x : [item[1]["var21"] for item in df2.iterrows() if len(x.intersection(item[1]["var22"]))>1])
目前没有回答
相关问题 更多 >
编程相关推荐