Python比较系列

2024-04-19 05:15:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据帧,我想比较它们的列。基于这个比较,我想制作一个新的数据帧。我试过了pd.合并,但这不起作用,因为它会复制其他列的多个副本。我要比较的其中一列与同一数据帧的其他列具有一对多关系。让我给你看看:

df1:

domain_sessionid   category   subcategory   label              action
sess1              main       gallery       gallery_click      click
sess1              main       offer_desc    show_more_button   click
sess2              sidebar    travellers    babies             click
sess3              main       gallery       gallery_click      click


df2:

domain_sessionid   category   subcategory   label              action
sess1               main       gallery       gallery_click      click
sess10              main       offer_desc    show_more_button   click
sess20              sidebar    travellers    babies             click
sess30              main       gallery       gallery_click      click


resultant:
domain_sessionid   category   subcategory   label              action
sess1              main       gallery       gallery_click      click
sess1              main       offer_desc    show_more_button   click

正如您在结果df中看到的,我只想保留会话id匹配的条目和df1中的其余值。请提出一些建议。你知道吗


Tags: 数据maindomainmoreshowactiongallerydesc
1条回答
网友
1楼 · 发布于 2024-04-19 05:15:38

要使用^{}

df_both = df1[df1.domain_sessionid.isin(df2.domain_sessionid)]
print(df_both)

  domain_sessionid category subcategory             label action
0            sess1     main     gallery     gallery_click  click
1            sess1     main  offer_desc  show_more_button  click

相关问题 更多 >