Python中Dataframe合并和去重的实现是怎样的
Admin 2022-08-27 群英技术资讯 307 次浏览
在数据分析中,避免不了要从多个数据集中取数据,那就避免不了要进行数据的合并,这篇文章就来介绍一下 Dataframe 对象的合并操作。
Pandas 提供了merge()
方法来进行合并操作,使用语法如下:
pd.merge(left, right, how="inner", on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False)
常用的参数说明:
left、right、outer、inner
,此参数可以确定以哪边(左边、右边或者左右共有)的键为基准,如果出现匹配失败的用NaN
填充,默认为inner
,具体如下:
NaN
填充NaN
填充NaN
填充例如,对下面两个 DataFrame 对象执行合并操作:
import pandas as pd data = {"name": ["Alice", "Bob", "Cindy", "David"], "age": [25, 23, 28, 24], "gender": ["woman", "man", "woman", "man"]} df1 = pd.DataFrame(data) df1
data = {"name": ["Alice", "Bob", "Cindy", "Emilie"], "city": ["beijing", "beijing", "jinan", "shanghai"]} df2 = pd.DataFrame(data) df2
使用name
作为连接键:
merge_pd = pd.merge(df1, df2, on="name") merge_pd
结果输出如下:
设置为左连接:
merge_pd = pd.merge(df1, df2, on="name", how="left") merge_pd
结果输出如下:
在进行数据分析时,数据的质量可能并不理想,有可能包含一些重复数据,那我们就要进行数据的“去重”操作,删除重复的数据,保留唯一的数据项,从而提高数据集整体的精确度,同时也可以节省空间、提升读写性能等,接下来就来介绍一下 Pandas Dataframe 的去重操作。
Pandas 提供了drop_duplicates()
方法进行数据的去重操作,具体使用格式如下:
df.drop_duplicates(subset=None, keep="first", inplace=False, ignore_index=False)
参数说明如下:
None
,可以使用列表指定一个或多个列名first、last、False
,默认为first
,表示只保留第一次出现的重复项,删除其余重复项;last
表示只保留最后一次出现的重复项;False
表示删除所有重复项例如,对下面 DataFrame 对象进行去重操作:
可以看到该DataFrame 对象中索引为1、3的行是重复的,下面进行去除:
保留第一次出现的重复项:
df.drop_duplicates(inplace=True) df
结果输出如下:
删除所有重复项:
df.drop_duplicates(keep=False, inplace=True) df
结果输出如下:
ignore_index参数使用:
df.drop_duplicates(inplace=True, ignore_index=True) df
ignore_index设置为True后,通过结果可以看到,行索引进行了重排。
当然drop_duplicates()
方法也可以根据指定列名去重,给subset传递参数即可,例如根据name列进行去重:
df.drop_duplicates(subset=["name"], inplace=True)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了Python实现流星雨效果的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助<BR>
缺失值是指粗糙数据中由于缺少信息而造成的数据的聚类、分组、删失或截断,下面这篇文章主要给大家介绍了关于Python处理缺失值的8种不同方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
什么是运算符重载,就是让自定义的类生成的对象(实例)能够使用运算符进行操作,这篇文章主要给大家介绍了关于Python运算符重载的相关资料,需要的朋友可以参考下
本篇文章给大家带来了关于Python的相关知识,通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,下面介绍了关于python绘制三维图的相关资料,希望对大家有帮助。
这篇文章主要为大家详细介绍了用python实现打砖块小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008