pandas DataFrame 删除重复的行的实现方法
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'时就是保留最后一次出现的重复行。
(注意,这里的参数是字符串,要加引号!!!)
相关推荐
roamer 2020-10-29
三石 2020-08-23
QianYanDai 2020-08-16
mmmjyjy 2020-07-16
QianYanDai 2020-07-05
QianYanDai 2020-07-05
jiahaohappy 2020-06-21
QianYanDai 2020-06-16
zhangxiaojiakele 2020-05-25
jzlixiao 2020-05-15
jiahaohappy 2020-05-12
zhangxiaojiakele 2020-05-11
jzlixiao 2020-05-08
Series是一种类似于一维数组的对象,由一组数据以及一组与之对应的索引组成。 index: 索引序列,必须是唯一的,且与数据的长度相同. 如果没有传入索引参数,则默认会自动创建一个从0~N的整数索引
jzlixiao 2020-05-09
81510295 2020-11-17
listep 2020-09-11
Tristahong 2020-08-24
Johnson0 2020-07-28
santiago00 2020-07-11