首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较2 df的df1and df2

比较2 df的df1and df2
EN

Stack Overflow用户
提问于 2020-12-15 12:36:09
回答 1查看 50关注 0票数 0

比较2 df的df1有重复的1000+ _id的唯一行,但df2只有唯一的唯一id。我想要比较df1中的每一行,这样unique_id就在df2中,如果匹配,也可以从df1到df2比较相同的类别和子类别。输出:如果其中任何一个不匹配,则将该索引提取到一个数组中。

代码语言:javascript
复制
import pandas as pd
import numpy as np

data1 = {'unique_id': 
        ['Computer','iPhone','Printer','Desktop','Computer','iPhone','iphpne','Printer','Desktop','Computer','iPhone','Printer','Desktop'],
        'category': 
         ['movies','documentary','series','special','movies','documentary','series','special','series','special','movies','series','special'],
         'subcategory':
         ['drama','horror','comedy','reality','drama','documentary','comedy','reality','documentary','comedy','documentary','comedy','drama']
        }

df1 = pd.DataFrame(data1,columns= ['unique_id', 'category','subcategory'])


data2 = {'unique_id': ['Computer','iPhone','Printer','Desktop'],
         'category': ['movies','documentary','series','special'],
         'subcategory':['drama','horror','comedy','reality']
        }

df2 = pd.DataFrame(data2,columns= ['unique_id', 'category','subcategory'])
EN

回答 1

Stack Overflow用户

发布于 2020-12-15 14:24:18

IIUC,这就是你需要的

代码语言:javascript
复制
pd.concat([df1,df2]).drop_duplicates(keep=False)

打印:

代码语言:javascript
复制
   unique_id     category  subcategory
5     iPhone  documentary  documentary
6     iphpne       series       comedy
7    Printer      special      reality
8    Desktop       series  documentary
9   Computer      special       comedy
10    iPhone       movies  documentary
12   Desktop      special        drama

获取索引的

代码语言:javascript
复制
pd.concat([df1,df2]).drop_duplicates(keep=False).index

打印:

代码语言:javascript
复制
   Int64Index([5, 6, 7, 8, 9, 10, 12], dtype='int64')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65300087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档