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

(编辑:jimmy 日期: 2024/9/28 浏览:2)

1. 建立一个DataFrame

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

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

2. 判断是否有重复项

用duplicated( )函数判断  

C.duplicated()

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

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

C.drop_duplicates()

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

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

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

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

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

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

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

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

补充: 

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

一句话新闻

微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。