pandas中有提供哪些方法可以删除重复数据
Admin 2022-07-27 群英技术资讯 737 次浏览
duplicated()可以被用在DataFrame的三种情况下,分别是pandas.DataFrame.duplicated、pandas.Series.duplicated和pandas.Index.duplicated。他们的用法都类似,前两个会返回一个布尔值的Series,最后一个会返回一个布尔值的numpy.ndarray。
DataFrame.duplicated(subset=None, keep=‘first’)
subset:默认为None,需要标记重复的标签或标签序列
keep:默认为‘first’,如何标记重复标签
Series.duplicated(keep=‘first’)
keep:与DataFrame.duplicated的keep相同
Index.duplicated(keep=‘first’)
keep:与DataFrame.duplicated的keep相同
例子:
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.duplicated()
0 False
1 True
2 False
3 False
4 False
dtype: bool
df.duplicated(keep='last')
0 True
1 False
2 False
3 False
4 False
dtype: bool
df.duplicated(keep=False)
0 True
1 True
2 False
3 False
4 False
dtype: bool
df.duplicated(subset=['brand'])
0 False
1 True
2 False
3 True
4 True
dtype: bool
关于Index的重复标记:
df = df.set_index('brand') df
style rating
brand
Yum Yum cup 4.0
Yum Yum cup 4.0
Indomie cup 3.5
Indomie pack 15.0
Indomie pack 5.0
df.index.duplicated()
array([False, True, False, True, True])
与duplicated()类似,drop_duplicates()是直接把重复值给删掉。下面只会介绍一些含义不同的参数。
DataFrame.drop_duplicates(subset=None, keep=‘first’, inplace=False)
Series.drop_duplicates()相比Series.duplicated()也是多了一个inplace参数,和上诉介绍一样,Index.drop_duplicates()与Index.duplicated()参数相同就不做赘述。下面是例子:
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(inplace = True) df
brand style rating
0 Yum Yum cup 4.0
2 Indomie cup 3.5
3 Indomie pack 15.0
4 Indomie pack 5.0
有剩余无,pandas有很多好用的库,但是系统学下来很不现实,都是在实际项目中不断的发现、积累、记录下来。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了自然语言处理之文本热词提取,主要就是通过jieba的posseg模块将一段文字分段并赋予不同字段不同意思,然后通过频率计算出热频词,需要的朋友可以参考下
这篇文章主要介绍了Django上传excel表格并将数据写入数据库,将文件上传到服务器指定路径,其实很简单,本文分三个步骤给大家详细介绍,需要的朋友可以参考下
python 如何实现给图片加水印?我们在一些网站或者软件上,上传或者发布图片的时候,会看到图片被自动添加上了水印,那么这是怎么样实现的呢?下面小编就给大家分享使用Python实现给图片指定位置添加水印的方法,感兴趣的朋友就继续往下看吧。
游戏界面中文字也是非常常见的元素之一,pygame专门提供了Font模块来支持文字的显示,下面这篇文章主要给大家介绍了关于pygame学习笔记之设置字体及显示中文的相关资料,需要的朋友可以参考下
prefetch_related()和select_related()的设计目的很相似,都是为了减少SQL查询的数量,但是实现的方式不一样,下面这篇文章主要给大家介绍了关于Django中QuerySet查询优化之prefetch_related的相关资料,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008