Pandas 基础(9) - 组合方法 merge
首先, 还是以天气为例, 准备如下数据:
df1 = pd.DataFrame({ 'city': ['newyork', 'chicago', 'orlando'], 'temperature': [21, 24, 32], }) df2 = pd.DataFrame({ 'city': ['newyork', 'chicago', 'orlando'], 'humidity': [89, 79, 80], }) df = pd.merge(df1, df2, on='city')
输出:
上面的例子就是以 'city' 为基准对两个 dataframe 进行合并, 但是两组数据都是高度一致, 下面调整一下:
df1 = pd.DataFrame({ 'city': ['newyork', 'chicago', 'orlando', 'baltimore'], 'temperature': [21, 24, 32, 29], }) df2 = pd.DataFrame({ 'city': ['newyork', 'chicago', 'san francisco'], 'humidity': [89, 79, 80], }) df = pd.merge(df1, df2, on='city')
输出:
从输出我们看出, 通过 merge 合并, 会取两个数据的交集.
那么, 我们应该可以设想到, 可以通过调整参数, 来达到不同的取值范围.
取并集:
df = pd.merge(df1, df2, on='city', how='outer')
输出:
左对齐:
df = pd.merge(df1, df2, on='city', how='left')
输出:
右对齐:
df = pd.merge(df1, df2, on='city', how='right')
另外, 在我们取并集的时候, 我们有时可能会想要知道, 某个数据是来自哪边, 可以通过 indicator 参数来获取:
df = pd.merge(df1, df2, on='city', how='outer', indicator=True)
输出:
在上面的例子中, 被合并的数据的列名是没有冲突的, 所以合并的很顺利, 那么如果两组数据有相同的列名, 又会是什么样呢? 看下面的例子:
df1 = pd.DataFrame({ 'city': ['newyork', 'chicago', 'orlando', 'baltimore'], 'temperature': [21, 24, 32, 29], 'humidity': [89, 79, 80, 69], }) df2 = pd.DataFrame({ 'city': ['newyork', 'chicago', 'san francisco'], 'temperature': [30, 32, 28], 'humidity': [80, 60, 70], }) df = pd.merge(df1, df2, on='city')
输出:
我们发现, 相同的列名被自动加上了 'x', 'y' 作为区分, 为了更直观地观察数据, 我们也可以自定义这个区分的标志:
df3 = pd.merge(df1, df2, on='city', suffixes=['_left', '_right'])
输出:
好了, 以上, 就是关于 merge 合并的相关内容, enjoy~~~
转载于:https://www.cnblogs.com/rachelross/p/10428805.html
Pandas 基础(9) - 组合方法 merge相关推荐
- Pandas知识点-合并操作merge
Pandas知识点-合并操作merge merge()方法是Pandas中的合并操作,在数据处理过程中很常用,本文介绍merge()方法的具体用法. 一.基础合并操作 merge(left, righ ...
- pandas基础操作大全之数据合并
在pandas 基础操作大全之数据读取&清洗&分析中介绍了pandas常见的数据处理操作,现在继续对pandas常用的数据合并操作做下介绍,便于大家快速了解,也方便后续需要时快速查询. ...
- 快乐学习Pandas入门篇:Pandas基础
Datawhale学习 作者:杨煜,Datawhale成员 寄语:本文对Pandas基础内容进行了梳理,从文件读取与写入.Series及DataFrame基本数据结构.常用基本函数及排序四个模块快速入 ...
- pandas object转float_数据分析篇 | Pandas基础用法6【完结篇】
这是最后一篇,至此Pandas系列终于连载完了,有需要的也可以看看前面6篇,尽请收藏. 数据分析篇 | Pandas 概览 数据分析篇 | Pandas基础用法1数据分析篇 | Pandas基础用法2 ...
- 机器学习数据整合+pandas方法astype、merge、drop、to_numeric、concat等
机器学习数据整合+pandas方法astype.merge.drop.to_numeric.concat等 # 合并两个数据集的数据并进行特征处理 def combine_features(self, ...
- Numpy与Pandas基础
Numpy与Pandas基础 Cyczz 计算机小白 关注他 1 人赞同了该文章 本文包括: 一维数据分析 二维数据分析 一.一维数组 Numpy的一维数组(array) 创建一个一维数组,参数传入 ...
- 【Python】Pandas基础:结构化数据处理
python:Pandas基础:结构化数据处理 目录: 文章目录 @[toc] 一 pandas及其重要性 二 pandas的数据结构介绍 1 Series 2 DataFrame 3 索引对象 三 ...
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍 一、pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主
利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍 一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目 ...
- Python科学计算之Pandas基础学习
Python科学计算之Pandas基础学习 导入Pandas 我们首先要导入我们的演出明星--Pandas. 这是导入Pandas的标准方式.显然,我们不希望每时每刻都在程序中写'pandas',但是 ...
最新文章
- 基于长短读长和参考基因组的组装错误检测算法的研究
- 为什么很多网逃抓不到_为什么很多人找不到长久合作的毛刷厂家?
- 名词解释说明用英语怎么说_“用英语怎么说”译成How to say in English,典型的中式英语!...
- java enum判断_Java Enum枚举 遍历判断 四种方式(包括 Lambda 表达式过滤)
- 模板-1-模板类的特化
- 开机预读快还是不预读快_WIN 7下的超级预读比VISTA要好,改进不少!推荐开启超级预读!...
- 使用Phantom omni力反馈设备控制机器人
- CVPR 2021 机器学习及多模态最新进展分享
- python int转str_用Python生成抖音字符视频!
- VMware在RSA大会上的新发布
- [书目20090216]高绩效人士的五项管理 李践作品
- 计算机网络入门知识大全,计算机网络基础知识汇总(超全).doc
- 关于音游,除了节奏大师,你还熟悉哪些?
- U3D中物体渐隐和闪烁的方法
- android 局域网图片 管理,支持局域网浏览/简洁美观的安卓文件管理器-es文件管理器...
- javac ‘javac‘ 不是内部或外部命令,也不是可运行的程序 的解决办法
- 安装 VMware tools时报错:不在 sudoers 文件中。此事将被报告。
- “格式化”到底是啥意思?
- 第三天 入口文件index.php 01
- 分时操作系统(20世纪70年代)