Python Dataframe 指定多列去重、求差集的方法

 更新时间:2018年07月10日 08:55:24   作者:jasonwang_  
今天小编就为大家分享一篇Python Dataframe 指定多列去重、求差集的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1)去重

指定多列去重,这是在dataframe没有独一无二的字段作为PK(主键)时,需要指定多个字段一起作为该行的PK,在这种情况下对整体数据进行去重。

Attention:主要用到了drop_duplicates方法,并设置参数subset为多个字段名构成的数组。

具体代码如下:

 
>>>import pandas as pd 
>>>data={'state':[1,1,2,2,1,2,2],'pop':['a','b','c','d','b','c','d']}
>>>frame=pd.DataFrame(data) 
>>>frame
	pop	state
0	a	1
1	b	1
2	c	2
3	d	2
4	b	1
5	c	2
6	d	2
>>>frame.drop_duplicates(subset=['pop','state'])
	pop	state
0	a	1
1	b	1
2	c	2
3	d	2

2)求差集

假设有两个dataframe为a和b,a和b可以是相互包含的关系,现在想要将a中和b重复的内容去掉,也就是求差集,步骤如下:

(1)需要对两个dataframe进行去重。

(2)利用append方法,a=a.append(b)

(3)再次利用append方法,a=a.append(b)

(4)去重,利用drop_duplicates方法,a=a.drop_duplicates(),以及设置参数keep=False,意思就是只要有重复,重复的记录都去掉。(keep默认='first',也就是保留第一条记录)

具体代码如下:

>>>data_a={'state':[1,1,2],'pop':['a','b','c']}
>>>data_b={'state':[1,2,3],'pop':['b','c','d']}
>>>a=pd.DataFrame(data_a)
>>>a 
	pop	state
0	a	1
1	b	1
2	c	2
>>>b=pd.DataFrame(data_b) 
>>>b
	pop	state
0	b	1
1	c	2
2	d	3
>>>a = a.append(b)
>>>a = a.append(b)
>>>result = a.drop_duplicates(subset=['pop','state'],keep=False)
>>>result
	pop	state
0	a	1

以上这篇Python Dataframe 指定多列去重、求差集的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python机器学习实战之树回归详解

    python机器学习实战之树回归详解

    这篇文章主要为大家详细介绍了python机器学习实战之树回归的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Python scrapy爬取起点中文网小说榜单

    Python scrapy爬取起点中文网小说榜单

    爬虫的基础内容已经全部学玩,博主决定想着更加标准化以及实用能力更强的scrapy进发,今天记录自己第一个scrapy爬虫项目. scrapy爬取起点中文网24小时热销榜单,需要的朋友可以参考下
    2021-06-06
  • Python超有趣实例通过冒泡排序来实现LOL厄斐琉斯控枪

    Python超有趣实例通过冒泡排序来实现LOL厄斐琉斯控枪

    冒泡排序是一种简单的排序算法,它也是一种稳定排序算法。其实现原理是重复扫描待排序序列,并比较每一对相邻的元素,当该对元素顺序不正确时进行交换。一直重复这个过程,直到没有任何两个相邻元素可以交换,就表明完成了排序
    2022-05-05
  • python实现时间o(1)的最小栈的实例代码

    python实现时间o(1)的最小栈的实例代码

    这篇文章主要介绍了python实现时间o(1)的最小栈的实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • 解决pytorch-gpu 安装失败的记录

    解决pytorch-gpu 安装失败的记录

    这篇文章主要介绍了解决pytorch-gpu 安装失败的记录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • 基于PyQT5制作一个课堂点名系统

    基于PyQT5制作一个课堂点名系统

    这篇文章主要为大家介绍一个基于PyQt5实现的抖音同款课堂点名系统,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试
    2022-02-02
  • python isinstance函数用法详解

    python isinstance函数用法详解

    这篇文章主要介绍了python isinstance函数用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • windows下的pycharm安装及其设置中文菜单

    windows下的pycharm安装及其设置中文菜单

    这篇文章主要介绍了windows下的pycharm安装及其设置中文菜单,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • python的特殊语法和常用模块示例详解

    python的特殊语法和常用模块示例详解

    Python确实支持函数式编程,并提供了一些内置的高阶函数,这些函数可以接受其他函数作为参数,从而使代码更加简洁和功能强大,这篇文章主要介绍了python的特殊语法和常用模块详解,需要的朋友可以参考下
    2024-08-08
  • Python3多目标赋值及共享引用注意事项

    Python3多目标赋值及共享引用注意事项

    这篇文章主要介绍了Python3多目标赋值及共享引用注意事项,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05

最新评论