Python-科学计算-pandas-06-Df合并

系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2

  • 这个系列讲讲Python的科学计算版块
  • 今天讲讲pandas模块:将两个Df进行合并

Part 1:示例

  1. 已知df_1,有3列["time", "pos", "value1"]
  2. 已知df_2,有3列["pos", "value2", "value3"]
  3. pos列作为连接,将两个Df合并成一个Df,效果如下图

合并

Part 2:代码

import pandas as pd
dict_1 = {"time": ["2019-11-2", "2019-11-2", "2019-11-2"],          "pos": ["P1", "P2", "P3"],          "value1": [0.5, 0.8, 1.0]}
df_1 = pd.DataFrame(dict_1, columns=["time", "pos", "value1"])

dict_2 = {"pos": ["P1", "P2", "P3", "P4"],          "value2": [-1, -2, -3, -4],          "value3": [1, 2, 3, 4]}
df_2 = pd.DataFrame(dict_2, columns=["pos", "value2", "value3"])
print("\ndf_1")print(df_1)
print("\ndf_2")print(df_2)
df_merge_1 = pd.merge(df_1, df_2, how='left', on='pos')print("\ndf_merge_1")print(df_merge_1)
df_merge_2 = pd.merge(df_2, df_1, how='left', on='pos')print("\ndf_merge_2")print(df_merge_2)

代码截图

Part 3:部分代码解读

  1. pd.merge(df_1, df_2, how='left', on='pos'),以pos列作为df_1df_2的关联列,采用左连接的方式
    • 左连接,可以简单理解为行采用左边的df_1作为基准,在示例中发现df_merge_1没有P4点
    • 同理df_merge_2timevalue1没有数据
  2. 那么使用场景是什么呢?结合列与列之间的运算,会有一番新天地

本文分享自微信公众号 - Python工程师(DatenSpiel)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户4782617的专栏

Word打不开怎么修复?具体解决方法介绍

Word打不开怎么修复?不管是我们的工作还是学习都经常会用到Word编辑文档,要是我们的Word打不开是非常麻烦的。大家一般情况下都会怎么办?重新安装Word?...

6440
来自专栏前端资源

Vue CLI脚手架安装全过程及遇到的问题解决

今天使用 Vue 官方的一个脚手架工具 Vue CLI 创建了一个项目,顺便把安装过程和遇到的问题整理了一下。效果如下图:

7800
来自专栏飞总聊IT

深扒SQL的历史,说点秘密给你听

很多学SQL的朋友,或正在用SQL的朋友,都感觉到害怕,最近兴起的大数据,NoSQL会不会终结了SQL的命运,这帮只会SQL的朋友,怎么办?想学吧,又没精力,不...

8930
来自专栏菲宇

Python+OpenCV的图像读取、显示、保存

一、图像的读取 图像的读取主要函数是cv2.imread()。 函数格式:Mat cv::imread (const String & filena...

12610
来自专栏小詹同学

听说你的爬虫又被封了 ?

上一篇文章《爬虫利器初体验》中,我们举了个简单的栗子,但是在真实的开发中这样的爬虫代码很容易就会被封掉。那么怎么样才能避免这些事发生呢?这一这篇文章我们一起来学...

6830
来自专栏JAVAandPython君

一个月体验,终于懂了程序员为什么喜欢用MacBook!

在没用MacBook之前,一直不知道为什么各种文章说它就是程序员的标配?直到前段时间换了台Macbook,真香~

14010
来自专栏施炯的IoT开发专栏

Azure Sphere Development Environment Setup

目前,Visual Studio 2017/2019支持Azure Sphere开发,后续,微软会加入Visual Studio Code的支持。以Vi...

4410
来自专栏小詹同学

深度学习搞CV?图像数据不足咋办?看这里!

今天就来一招搞定数据增强(data_Augmentation),让你在机器学习/深度学习图像处理的路上,从此不再为数据不够而发愁。且来看图片从250张>>>>任...

6320
来自专栏dino.c的专栏

[UWP]使用SpringAnimation创建有趣的动画

最近用弹簧动画(SpringAnimation)做了两个番茄钟,关于弹簧动画官方文档已经介绍得够详细了,这篇文章就摘录一些官方文档核心内容。

7040
来自专栏Java建设者

程序员需要了解的硬核知识之磁盘

我们大家知道,计算机的五大基础部件是 存储器、控制器、运算器、输入和输出设备,其中从存储功能的角度来看,可以把存储器分为内存和 磁盘,内存我们上面的文章已经介绍...

8010

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励