python pandas dataframe 去重函数的具体使用
今天笔者想对pandas中的行进行去重操作,找了好久,才找到相关的函数
先看一个小例子
from pandas import Series, DataFrame data = DataFrame({'k': [1, 1, 2, 2]}) print data IsDuplicated = data.duplicated() print IsDuplicated print type(IsDuplicated) data = data.drop_duplicates() print data
执行结果是:
k
0 1
1 1
2 2
3 2
0 False
1 True
2 False
3 True
k
0 1
2 2
DataFrame的duplicated方法返回一个布尔型Series,表示各行是否重复行。
而 drop_duplicates方法,它用于返回一个移除了重复行的DataFrame
这两个方法会判断全部列,你也可以指定部分列进行重复项判段。
drop_duplicates根据数据的不同情况及处理数据的不同需求,通常会分为两种情况,一种是去除完全重复的行数据,另一种是去除某几列重复的行数据,就这两种情况可用下面的代码进行处理。
1. 去除完全重复的行数据
data.drop_duplicates(inplace=True)
2. 去除某几列重复的行数据
data.drop_duplicates(subset=['A','B'],keep='first',inplace=True)
- subset: 列名,可选,默认为None
- keep: {‘first', ‘last', False}, 默认值 ‘first'
- first: 保留第一次出现的重复行,删除后面的重复行。
- last: 删除重复项,除了最后一次出现。
- False: 删除所有重复项。
- inplace:布尔值,默认为False,是否直接在原数据上删除重复项或删除重复项后返回副本。(inplace=True表示直接在原来的DataFrame上删除重复项,而默认值False表示生成一个副本。)
例如,希望对名字为k2的列进行去重,
data.drop_duplicates(['k2'])
到此这篇关于python pandas dataframe 去重函数的具体使用的文章就介绍到这了,更多相关python pandas dataframe 去重函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
pandas.DataFrame.drop_duplicates 用法介绍
如下所示: DataFrame.drop_duplicates(subset=None, keep='first', inplace=False) subset考虑重复发生在哪一列,默认考虑所有列,就是在任何一列上出现重复都算作是重复数据 keep 包含三个参数first, last, False,first是指,保留搜索到的第一个重复数据,之后的都删除:last是指,保留搜索到的最后一个重复数据,之前的搜索到的重复数据都删除,False是指,把所有搜索到的重复数据都删除,一个都不保留,即如果有
-
详解pandas使用drop_duplicates去除DataFrame重复项参数
Pandas之drop_duplicates:去除重复项 方法 DataFrame.drop_duplicates(subset=None, keep='first', inplace=False) 参数 这个drop_duplicate方法是对DataFrame格式的数据,去除特定列下面的重复行.返回DataFrame格式的数据. subset : column label or sequence of labels, optional 用来指定特定的列,默认所有列 keep : {'firs
-
python pandas dataframe 去重函数的具体使用
今天笔者想对pandas中的行进行去重操作,找了好久,才找到相关的函数 先看一个小例子 from pandas import Series, DataFrame data = DataFrame({'k': [1, 1, 2, 2]}) print data IsDuplicated = data.duplicated() print IsDuplicated print type(IsDuplicated) data = data.drop_duplicates() print data 执行
-
python pandas.DataFrame.loc函数使用详解
官方函数 DataFrame.loc Access a group of rows and columns by label(s) or a boolean array. .loc[] is primarily label based, but may also be used with a boolean array. # 可以使用label值,但是也可以使用布尔值 Allowed inputs are: # 可以接受单个的label,多个label的列表,多个label的切片 A singl
-
python pandas dataframe 行列选择,切片操作方法
SQL中的select是根据列的名称来选取:Pandas则更为灵活,不但可根据列名称选取,还可以根据列所在的position(数字,在第几行第几列,注意pandas行列的position是从0开始)选取.相关函数如下: 1)loc,基于列label,可选取特定行(根据行index): 2)iloc,基于行/列的position: 3)at,根据指定行index及列label,快速定位DataFrame的元素: 4)iat,与at类似,不同的是根据position来定位的: 5)ix,为loc与i
-
python pandas dataframe 按列或者按行合并的方法
concat 与其说是连接,更准确的说是拼接.就是把两个表直接合在一起.于是有一个突出的问题,是横向拼接还是纵向拼接,所以concat 函数的关键参数是axis . 函数的具体参数是: concat(objs,axis=0,join='outer',join_axes=None,ignore_index=False,keys=None,levels=None,names=None,verigy_integrity=False) objs 是需要拼接的对象集合,一般为列表或者字典 axis=0 是
-
python pandas中索引函数loc和iloc的区别分析
目录 前言 1.直接使用行或者列标签 2.loc函数 3.iloc函数 总结 前言 使用pandas进行数据分析的时候,我们经常需要对DataFrame的行或者列进行索引.使用pandas进行索引的方法主要有三种:直接使用行或者列标签.loc函数和iloc函数. 举个简单的例子: import numpy as np import pandas as pd df = pd.DataFrame({"Fruits":["apple","pear",&
-
Python pandas DataFrame数据拼接方法
目录 前言 DataFrame数据拼接方法一:使用.append()方法. DataFrame数据拼接方法二:使用.concat()方法. 补充:Python同时合并多个DataFrame 总结 前言 在pandas模块中,通常我们都需要对类型为DataFrame的数据进行操作,其中最为常见的操作便是拼接了.比如我们将两个Excel表格中的数据读入,随后拼接完成后保存进一个新的Excel表格文件中.之前查找了相关的博客, 发现网络上鱼龙混杂.有些代码完全无法执行,为了提高效率,这里做一个详细地记
-
Python pandas DataFrame基础运算及空值填充详解
目录 前言 数据对齐 fill_value 空值api dropna fillna 总结 前言 今天我们一起来聊聊DataFrame中的索引. 上一篇文章当中我们介绍了DataFrame数据结构当中一些常用的索引的使用方法,比如iloc.loc以及逻辑索引等等.今天的文章我们来看看DataFrame的一些基本运算. 数据对齐 我们可以计算两个DataFrame的加和,pandas会自动将这两个DataFrame进行数据对齐,如果对不上的数据会被置为Nan(not a number). 首先我们来
-
Python pandas中apply函数简介以及用法详解
目录 1.基本信息 2.语法结构 3.使用案例 3.1 DataFrame使用apply 3.2 Series使用apply 3.3 其他案例 4.总结 参考链接: 1.基本信息 Pandas 的 apply() 方法是用来调用一个函数(Python method),让此函数对数据对象进行批量处理.Pandas 的很多对象都可以使用 apply() 来调用函数,如 Dataframe.Series.分组对象.各种时间序列等. 2.语法结构 apply() 使用时,通常放入一个 lambd
-
Python pandas.DataFrame 找出有空值的行
0.摘要 pandas中DataFrame类型中,找出所有有空值的行,可以使用.isnull()方法和.any()方法. 1.找出含有空值的行 方法:DataFrame[DataFrame.isnull().T.any()] 其中,isnull()能够判断数据中元素是否为空值:T为转置:any()判断该行是否有空值. import pandas as pd import numpy as np n = np.arange(20, dtype=float).reshape(5,4) n[2,3]
-
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
相信很多人像我一样在学习python,pandas过程中对数据的选取和修改有很大的困惑(也许是深受Matlab)的影响... 到今天终于完全搞清楚了!!! 先手工生出一个数据框吧 import numpy as np import pandas as pd df = pd.DataFrame(np.arange(0,60,2).reshape(10,3),columns=list('abc')) df 是这样子滴 那么这三种选取数据的方式该怎么选择呢? 一.当每列已有column name时,用
随机推荐
- CentOS7 下安装telnet服务的实现方法
- JSP的include指令的使用方法
- VB.NET中调用MSI卸载软件的2个方法
- Extjs4 关于Store的一些操作(加载/回调/添加)
- javascript判断单选框或复选框是否选中方法集锦
- 浅谈Java异常的Exception e中的egetMessage()和toString()方法的区别
- Javascript中eval函数的详细用法与说明
- JavaScript实现向右伸出的多级网页菜单效果
- repeater做删除前弹窗询问实例
- .NET事件监听机制的局限与扩展分析
- for循环连续求和、九九乘法表代码
- Android 自定义View 密码框实例代码
- JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
- Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
- Ajax学习笔记---3种Ajax的实现方法【推荐】
- win2003服务器一招废掉所有木马(防提权)
- js+html5实现的自由落体运动效果代码
- Linux新技术对象存储文件系统
- Java中的深拷贝和浅拷贝介绍
- 简单谈谈ThreadPoolExecutor线程池之submit方法