大熊猫左加入羚牛NA作为通配符(如果右表中的单元格具有NA,请不要尝试匹配它)

问题描述 投票:0回答:1

没有人知道将NA值作为共价蛋白在多列上连接2个数据帧的有效方法吗?

我的用例示例:

我有一个像这样的数据框df_a

stop1   stop2   stop3   stop4   stop5   stop6   stop7
ES       IT      GB      DE      AT      US      CA
ES       IT      DE      CH         

以及具有这样的动作模式(停止顺序和动作可能包含或不包含NA值的数据帧df_p:]

stop1   act1    stop2   act2    stop3   act3    stop4     act4
ES      sell     IT                             
ES      sell     IT     sell                      DE      buy
DE      buy      CH                         

我想离开df_adf_p的连接,并使用列匹配为模式分配模式,将空值作为comodin

在这种情况下,预期输出应为:

stop1   act1   stop2    act2   stop3    act3   stop4    act4    stop5   act5    stop6   act6   stop7
ES      sell    IT      sell    GB               DE      buy     AT              US             CA
ES      sell    IT              DE      buy      CH         

第一行与第一行和第二行中的模式匹配,但是第二行与更多行匹配,因此我们将其分配给它。路由模式1的开始处和路由模式3的末尾都匹配第二行,因此我们将两者都分配。

我正在处理大量数据,因此我需要一种有效的方法来执行此操作。此外,您认为逐行执行迭代或使用pd.merge更好?

谢谢,

Alberto

没有人知道将NA值作为共代蛋白的多列上连接2个数据帧的有效方法吗?我的用例示例:我有一个像这样的数据帧df_a:stop1 stop2 stop3 stop4 ...

python pandas merge out-of-memory na
1个回答
0
投票

最佳方法是使用merge。如果不指定它们,它将查找公共列:

© www.soinside.com 2019 - 2024. All rights reserved.