pandas 去重 drop_duplicates 函数

pandas 去重 drop_duplicates 函数

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去重,最好采用开头提到的那行代码。

在这里插入图片描述
原文链接:https://blog.csdn.net/chang995196962/article/details/88949025

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pandas中的drop_duplicates函数用于删除DataFrame或Series中的重复行。它返回一个的DataFrame或Series,其中仅包含不重复的行。 在DataFrame上使用drop_duplicates函数时,可以指定一个或多个列作为参考列。如果指定了参考列,则只有在指定的列上的值都相同时,才会被视为重复行。 下面是drop_duplicates函数的基本语法: ```python DataFrame.drop_duplicates(subset=None, keep='first', inplace=False) ``` 其中,参数说明如下: - subset:可选参数,用于指定要考虑的列。默认值为None,表示考虑所有列。 - keep:可选参数,用于指定保留哪个重复行。可选值为'first'(保留第一个出现的重复行),'last'(保留最后一个出现的重复行),False(删除所有重复行)。默认值为'first'。 - inplace:可选参数,用于指定是否在原地修改数据。如果设置为True,则会直接修改原始DataFrame或Series,而不是返回一个的对象。默认值为False。 下面是一个示例: ```python import pandas as pd # 创建一个DataFrame data = {'A': [1, 2, 2, 3, 4], 'B': ['a', 'b', 'b', 'c', 'd']} df = pd.DataFrame(data) # 删除重复行 df.drop_duplicates(inplace=True) print(df) ``` 输出结果如下: ``` A B 0 1 a 1 2 b 3 3 c 4 4 d ``` 在这个示例中,原始的DataFrame有两个重复行(索引为2和4),通过使用drop_duplicates函数,我们删除了这两个重复行,并得到一个的DataFrame。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值