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 : {‘first', ‘last', False}, default ‘first' 删除重复项并保留第一次出现的项
- inplace : boolean, default False 是直接在原来数据上修改还是保留一个副本
DataFrame中存在重复的行或者几行中某几列的值重复,这时候需要去掉重复行,示例如下:
data.drop_duplicates(subset=['A','B'],keep='first',inplace=True)
代码中subset对应的值是列名,表示只考虑这两列,将这两列对应值相同的行进行去重。默认值为subset=None表示考虑所有列。
keep='first'表示保留第一次出现的重复行,是默认值。keep另外两个取值为"last"和False,分别表示保留最后一次出现的重复行和去除所有重复行。
inplace=True表示直接在原来的DataFrame上删除重复项,而默认值False表示生成一个副本。
将副本赋值给dataframe:
data=data.drop_duplicates(subset=None,keep='first',inplace=False)
这一行代码与文章开头提到的那行代码效果等效,但是如果在该DataFrame上新增一列:
data['extra']=test_data['item_price_level']
就会报如下错误:
SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame.
所以如果想对DataFrame去重,最好采用开头提到的那行代码。
本文详解pandas使用drop_duplicates去除DataFrame重复项参数到此结束。人走到喧华的群众中去,是为了淹没他自我沉默的呼号。小编再次感谢大家对我们的支持!