我已经和熊猫一起工作了一段时间,但我还没有想出如何实现以下结果
DFA由包含活动和非活动LOB的记录组成。我想删除不活动的LOB。但各州之间的非活动LOB有所不同
DF B由列形式的状态和结果列中的非活动LOB组成
因此,我想要一个不包含任何非活动LOB的结果DF
例:OH中不活跃的LOB 78可能在MI中活跃。 理由:
在dfa中:您可以看到一条状态为OH和lob78的记录。我不希望此记录出现在DF C中,因为DF b中的OH列中存在78条记录,因此它被视为非活动记录
在dfa中:您可以看到状态为MI和lob78的记录。我希望记录在我的DF C中,因为DF b的MI列中没有78
DFA中有500k记录。运行时间不是问题,但如果少于5分钟就好了
(我从dict : [{state: [list of inactive lob]}]
列表中读取dfb)
样本DFA:
Name, state, LOB, ID
a , OH , 66 , 7979
aa , OH , 78 , 12341
bas , OH , 67 , 13434
basd, VT , 99 , 1241234
badf, MI , 77 , 12341234
bbdf, MI , 78 , 12341234
caff, VT , 66 , 2134
cdse, AZ , 01 , 232
样本DF B:
OH , VT , MI
66 , 99 , 77
78 , 23
我想要一个DF C:
Name, state, LOB, ID
bas , OH , 67 , 13434
bbdf, MI , 78 , 12341234
caff, VT , 66 , 2134
cdse, AZ , 01 , 232
IIUC,您可以通过首先熔化
dfb
来进行反左连接您可以使用多索引来实现这一点,如下所示:
首先,使用
state
和LOB
索引A:然后删除不需要的行:
在此之后
C
将只包含所需的行。如果有帮助,请告诉我相关问题 更多 >
编程相关推荐