(编辑:jimmy 日期: 2024/11/13 浏览:2)
今天笔者想对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)
例如,希望对名字为k2的列进行去重,
data.drop_duplicates(['k2'])