大熊猫:删除另一个数据框中的行,对列的子集进行比较

速成

我有2个数据框,X和Y具有相同的列,并且我试图删除出现在Y中的X中的行,但是我只想根据列的子集来比较它们。

例:

>>> X
  site_domain  id            url
0       a.com   1  ad_a.com/test
1       b.com   2  ad_b.com/test
2       c.com   3  ad_c.com/test
3       d.com   4  ad_d.com/test
4       e.com   5  ad_e.com/test

>>> Y
  site_domain  id                url
0       a.com   1      ad_a.com/test
1       b.com  10      ad_b.com/test
2   other.com   3      ad_c.com/test
3       d.com   4  ad_other.com/test

我想删除从X出现在Y,在我的定义行,这意味着,列site_domainurl必须匹配,但我不在乎id因此,我的操作结果应该是:

  site_domain  id            url
0       c.com   3  ad_c.com/test
1       d.com   4  ad_d.com/test
2       e.com   5  ad_e.com/test

我该怎么办?我认为这将需要在X上应用一些布尔掩码,但是我不知道如何生成适用于索引的布尔掩码(以便一次保留或拒绝整个行),而且我也不需要知道如何生成这样的蒙版。

我尝试X['site_domain'] == Y['site_domain'] & X['url'] == Y['url']使用否定该蒙版创建一个蒙版,但是Pandas抱怨这些系列的标签不相同。我可能会用相同的标签制作这些系列的版本,但是我觉得这对于这样一个简单的问题会很麻烦。

瓦沙里

您可以串联site_domain和url并用于isin检查串联的字符串是否在Y中

X[~(X['site_domain']+'_'+X['url']).isin(Y['site_domain']+'_'+Y['url'])] 


site_domain id  url
2   c.com   3   ad_c.com/test
3   d.com   4   ad_d.com/test
4   e.com   5   ad_e.com/test

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

大熊猫比较并从另一个数据框中选择最小的数字

来自分类Dev

大熊猫:使用来自另一个数据框的重复行更新多个数据框列

来自分类Dev

熊猫:删除列与另一个数据框中显示的行

来自分类Dev

大熊猫:将行从一个数据框添加到另一数据框?

来自分类Dev

根据选定的列过滤重复的行,并与Pandas中的另一个数据框进行比较

来自分类Dev

大熊猫将一个数据框与另一个groupby数据框组合在一起

来自分类Dev

根据另一数据框的行对一个数据框的列进行子集

来自分类Dev

根据另一个数据框中的值对一个数据框进行子集

来自分类Dev

根据另一个数据框从数据框中设置子集/选择列

来自分类Dev

大熊猫每天将小时(仅小时)放入一个数据框中

来自分类Dev

根据另一个数据框中的列删除行

来自分类Dev

用另一个数据框的列填充熊猫中的数据框列

来自分类Dev

根据关键列值熊猫将一个数据框中的行与另一个数据框中的行匹配

来自分类Dev

从数据框中删除与另一个数据框R中的两列匹配的行

来自分类Dev

从数据框中删除行,因为另一个数据框中不存在列值

来自分类Dev

根据另一个数据框的值删除一个数据框的行和列

来自分类Dev

删除不在另一个数据框中的数据框中的列

来自分类Dev

如何删除不在另一个数据框中的数据框行?

来自分类Dev

在熊猫中按行比较一个日期框架中的日期列值与另一个数据框架中的两个日期列

来自分类Dev

当我尝试根据另一个数据框的列中的值对数据框进行子集化时发生错误

来自分类Dev

大熊猫遍历列以查找文本匹配项,一旦找到,则比较两个数据框中的相邻行值<>

来自分类Dev

基于与使用大熊猫另一个小区的比较在每个小区变化值

来自分类Dev

基于&运算的子集pandas数据框来自另一个数据框的列

来自分类Dev

如何在R bu中对数据框进行子集提取,以及如何基于类似的列将一个数据框的列添加到另一个数据框

来自分类Dev

用另一个数据框熊猫中的每两列重命名

来自分类Dev

熊猫,从另一个数据框中添加列读取值

来自分类Dev

根据另一个数据框/列表在数据框中的列子集

来自分类Dev

根据三列将一个Pandas数据框中的行与另一个数据框中的行进行匹配

来自分类Dev

更改熊猫数据框中的值是另一个数据框中存在同一行

Related 相关文章

  1. 1

    大熊猫比较并从另一个数据框中选择最小的数字

  2. 2

    大熊猫:使用来自另一个数据框的重复行更新多个数据框列

  3. 3

    熊猫:删除列与另一个数据框中显示的行

  4. 4

    大熊猫:将行从一个数据框添加到另一数据框?

  5. 5

    根据选定的列过滤重复的行,并与Pandas中的另一个数据框进行比较

  6. 6

    大熊猫将一个数据框与另一个groupby数据框组合在一起

  7. 7

    根据另一数据框的行对一个数据框的列进行子集

  8. 8

    根据另一个数据框中的值对一个数据框进行子集

  9. 9

    根据另一个数据框从数据框中设置子集/选择列

  10. 10

    大熊猫每天将小时(仅小时)放入一个数据框中

  11. 11

    根据另一个数据框中的列删除行

  12. 12

    用另一个数据框的列填充熊猫中的数据框列

  13. 13

    根据关键列值熊猫将一个数据框中的行与另一个数据框中的行匹配

  14. 14

    从数据框中删除与另一个数据框R中的两列匹配的行

  15. 15

    从数据框中删除行,因为另一个数据框中不存在列值

  16. 16

    根据另一个数据框的值删除一个数据框的行和列

  17. 17

    删除不在另一个数据框中的数据框中的列

  18. 18

    如何删除不在另一个数据框中的数据框行?

  19. 19

    在熊猫中按行比较一个日期框架中的日期列值与另一个数据框架中的两个日期列

  20. 20

    当我尝试根据另一个数据框的列中的值对数据框进行子集化时发生错误

  21. 21

    大熊猫遍历列以查找文本匹配项,一旦找到,则比较两个数据框中的相邻行值<>

  22. 22

    基于与使用大熊猫另一个小区的比较在每个小区变化值

  23. 23

    基于&运算的子集pandas数据框来自另一个数据框的列

  24. 24

    如何在R bu中对数据框进行子集提取,以及如何基于类似的列将一个数据框的列添加到另一个数据框

  25. 25

    用另一个数据框熊猫中的每两列重命名

  26. 26

    熊猫,从另一个数据框中添加列读取值

  27. 27

    根据另一个数据框/列表在数据框中的列子集

  28. 28

    根据三列将一个Pandas数据框中的行与另一个数据框中的行进行匹配

  29. 29

    更改熊猫数据框中的值是另一个数据框中存在同一行

热门标签

归档