美文网首页pandas
Pandas取交集、并集、差集

Pandas取交集、并集、差集

作者: 小杨同学97 | 来源:发表于2021-06-25 00:17 被阅读0次

数据合并有多种方式,其中最常见的应该就是交集、并集差集的求取。

取交集

pandas数据merge功能默认的行为是交集,inner连接

import pandas as pd
df1=pd.DataFrame([
        ['1','张三'],
        ['2','王丽'],
        ['3','王麻子'],
        ['4','王二虎'],
    ],columns=['id','name'])
df2=pd.DataFrame([
        ['2','王丽'],
        ['3','王麻子'],
        ['5','大飞'],
        ['6','小明'],
    ],columns=['id','name'])
pd.merge(df1,df2,on=['id','name'])
id name
0 2 王丽
1 3 王麻子

取并集

how的取值有'left','right','inner','outer',默认是inner

pd.merge(df1,df2,on=['id','name'],how='outer')
id name
0 1 张三
1 2 王丽
2 3 王麻子
3 4 王二虎
4 5 大飞
5 6 小明

取差集

先添加到后面,再删除重复出现的。

df5=pd.DataFrame([
        ['1','张三'],
        ['2','王丽'],
        ['3','王麻子'],
        ['4','王二虎'],
    ],columns=['id','name'])
df6=pd.DataFrame([
        ['2','王丽'],
        ['3','王麻子']
    ],columns=['id','name'])

df5=df5.append(df6)
df5
id name
0 1 张三
1 2 王丽
2 3 王麻子
3 4 王二虎
0 2 王丽
1 3 王麻子
df5=df5.drop_duplicates(subset=['id'],keep=False)
df5
id name
0 1 张三
3 4 王二虎

相关文章

网友评论

    本文标题:Pandas取交集、并集、差集

    本文链接:https://www.haomeiwen.com/subject/kelnyltx.html