欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

pandas交集、差集、并集 博客分类: python  

程序员文章站 2024-03-15 10:22:23
...

      python3使用pandas进行数据的整合。有时候需要取交集、差集、并集。

 

 

# coding:utf-8

import nothing as my_project
import pandas as pd


def get_data():
    file_1 = my_project.project_root + '/resources/' + '1_uniq.txt'
    file_2 = my_project.project_root + '/resources/' + '2_uniq.txt'

    # 加一个额外列
    order_id_me = pd.read_table(file_1, names=['order_id'])
    order_id_me['v1'] = order_id_me.apply(lambda x: 1, axis=1)
    order_id_you = pd.read_table(file_2, names=['order_id'])
    order_id_you['v2'] = order_id_you.apply(lambda x: 2, axis=1)

    # 并集
    union_set = pd.merge(order_id_you, order_id_me, how='outer')
    # 差集
    difference_set = union_set[(union_set['v1'].isnull()) | (union_set['v2'].isnull())]
    # 交集
    intersection_set = union_set[(union_set['v1'].notnull()) & (union_set['v2'].notnull())]

 

     以上代码只针对某些特定的情况,主旨是灵活运用merge函数里的how参数。