pandas DataFrame 删除重复的行的实现方法

yipeiwu_com6年前Python基础

1. 建立一个DataFrame

 C=pd.DataFrame({'a':['dog']*3+['fish']*3+['dog'],'b':[10,10,12,12,14,14,10]})

2. 判断是否有重复项

用duplicated( )函数判断  

C.duplicated()

3.  有重复项,则可以用drop_duplicates()移除重复项

C.drop_duplicates()

4. Duplicated( )和drop_duplicates( )方法是以默认的方式判断全部的列(上面的例子中是看两个变量a和b是否都是重复出现)。

我们也可以对特定的列进行重复项判断。

 C.duplicated(['a'])   C.drop_duplicates(['a'])

 C.duplicated(['b'])   C.drop_duplicates(['b'])

5.  norepeat_df = df.drop_duplicates(subset=['A_ID', 'B_ID'], keep='first')

#上面的命令去掉UNIT_ID和KPI_ID列中重复的行,并保留重复出现的行中第一次出现的行

补充: 

  • 当keep=False时,就是去掉所有的重复行 
  • 当keep=‘first'时,就是保留第一次出现的重复行 
  • 当keep='last'时就是保留最后一次出现的重复行。 

(注意,这里的参数是字符串,要加引号!!!)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现换位加密算法的示例

如下所示: def translationCipher(msg,key): result = [""]*key for i in range(key):#把每一列元素按...

python实现输入任意一个大写字母生成金字塔的示例

python实现输入任意一个大写字母生成金字塔的示例

输入任意一个大写字母,生成金字塔图形 def GoldTa(input): L = [chr(i) for i in range(65, 91)] # 大写字母A--Z id...

python 文件转成16进制数组的实例

如下所示: #! /usr/bin/python2 # coding=utf-8 import numpy import binascii if __name__=='__mai...

Python实现朴素贝叶斯分类器的方法详解

本文实例讲述了Python实现朴素贝叶斯分类器的方法。分享给大家供大家参考,具体如下: 贝叶斯定理 贝叶斯定理是通过对观测值概率分布的主观判断(即先验概率)进行修正的定理,在概率论中具有...

PyQt5实现无边框窗口的标题拖动和窗口缩放

网上找了半天都找不到好用的PyQt5无边框窗口的实现,借鉴部分前辈的窗口拖放代码,自己实现了一下无边框窗口,问题可能还有一点,慢慢改吧 先做个笔记 py文件 #!/usr/bin...