前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python-科学计算-pandas-06-Df合并

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

作者头像
zishendianxia
发布2019-12-02 19:40:05
9260
发布2019-12-02 19:40:05
举报

系统: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. 那么使用场景是什么呢?结合列与列之间的运算,会有一番新天地
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python工程师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档