pd.DataFrame.drop_duplicates(subset=None, keep=‘first‘, inplace=False, ignore_index= False)函数详解

函数pandas.DataFrame.drop_duplicates(subset=None, keep='first', inplace=False, ignore_index= False)主要用来去除重复项,返回DataFrame类型的数据。

有几个参数要注意一下
subset:默认为None
去除重复项时要考虑的标签,当subset=None时所有标签都相同才认为是重复项

keep: {‘first’, ‘last’, False},默认为‘first’
keep=‘first’时保留该标签第一次出现时的样本,之后重复出现的全部丢弃。
keep=‘last’表示保留该标签最后一次出现的样本,
keep=False时该标签重复的样本全部丢弃

inplace:bool,默认为False
inplace=False时返回去除重复项后的DataFrame,原来的DataFrame不改变。
inplace=True时返回空值,原来DataFrame被改变

ignore_index:bool,默认为False
ignore_index=False时,丢弃重复值之后的DataFrame的index不改变
ignore_index=True时,丢弃重复值之后的DataFrame的index重新变为0, 1, …, n-1

实验结果

>>> import pandas as pd
>>> df = pd.DataFrame({
...     'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],
...     'style': ['cup', 'cup', 'cup', 'pack', 'pack'],
...     'rating': [4, 4, 3.5, 15, 5]
... })
>>> df
     brand style  rating
0  Yum Yum   cup     4.0
1  Yum Yum   cup     4.0
2  Indomie   cup     3.5
3  Indomie  pack    15.0
4  Indomie  pack     5.0
>>> df.drop_duplicates()
     brand style  rating
0  Yum Yum   cup     4.0
2  Indomie   cup     3.5
3  Indomie  pack    15.0
4  Indomie  pack     5.0
>>> df.drop_duplicates(subset=['brand'])
     brand style  rating
0  Yum Yum   cup     4.0
2  Indomie   cup     3.5
>>> df.drop_duplicates(subset=['style'])
     brand style  rating
0  Yum Yum   cup     4.0
3  Indomie  pack    15.0
>>> df.drop_duplicates(subset=['brand'],keep='first')
     brand style  rating
0  Yum Yum   cup     4.0
2  Indomie   cup     3.5
>>> df.drop_duplicates(subset=['brand'],keep='last')
     brand style  rating
1  Yum Yum   cup     4.0
4  Indomie  pack     5.0
>>> df.drop_duplicates(subset=['brand'],keep=False)
Empty DataFrame
Columns: [brand, style, rating]
Index: []
>>> df_new=df.drop_duplicates(subset=['brand'],inplace=True)
>>> df_new
>>> print(df_new)
None
>>> df
     brand style  rating
0  Yum Yum   cup     4.0
2  Indomie   cup     3.5
>>> df.drop_duplicates(ignore_index=True)
     brand style  rating
0  Yum Yum   cup     4.0
1  Indomie   cup     3.5
  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值