pandas-16 pd.merge()的用法

使用过sql语言的话,一定对join,left join, right join等非常熟悉,在pandas中,merge的作用也非常类似。

如:pd.merge(df1, df2) 找到一个外键,然后将两条数据合并成一条。

直接上例子:

  1. import numpy as np
  2. import pandas as pd
  3. from pandas import Series, DataFrame
  4. df1 = DataFrame({'key':['X', 'Y', 'Z'], 'data_set_1':[1, 2, 3]})
  5. print(df1)
  6. '''
  7. data_set_1 key
  8. 0 1 X
  9. 1 2 Y
  10. 2 3 Z
  11. '''
  12. df2 = DataFrame({'key':['X', 'B', 'C'], 'data_set_2':[4, 5, 6]})
  13. print(df2)
  14. '''
  15. data_set_2 key
  16. 0 4 A
  17. 1 5 B
  18. 2 6 C
  19. '''
  20. # 感觉这个就像 操作 sql 的感觉一样
  21. # 找到一个外键 然后将两条数据拿到手
  22. print(pd.merge(df1, df2))
  23. '''
  24. data_set_1 key data_set_2
  25. 0 1 X 4
  26. '''
  27. # 第二个参数 on 代表 要在 哪一个 列上 进行 merge
  28. # print(pd.merge(df1, df2, on='data_set_1')) # 报错
  29. # inner 拿出的是两边都有的值
  30. print(pd.merge(df1, df2, on='key', how='inner'))
  31. '''
  32. data_set_1 key data_set_2
  33. 0 1 X 4
  34. '''
  35. # left 按照left的dataframe为基准,右边值为空的话就默认nan
  36. print(pd.merge(df1, df2, on='key', how='left'))
  37. '''
  38. data_set_1 key data_set_2
  39. 0 1 X 4.0
  40. 1 2 Y NaN
  41. 2 3 Z NaN
  42. '''
  43. # 同理 right 按照右边为基准
  44. print(pd.merge(df1, df2, on='key', how='right'))
  45. '''
  46. data_set_1 key data_set_2
  47. 0 1.0 X 4
  48. 1 NaN B 5
  49. 2 NaN C 6
  50. '''
  51. # outer 将 left right 的结合, 所有的key都拿出来,哪边缺失,就补充nan
  52. print(pd.merge(df1, df2, on='key', how='outer'))
  53. '''
  54. data_set_1 key data_set_2
  55. 0 1.0 X 4.0
  56. 1 2.0 Y NaN
  57. 2 3.0 Z NaN
  58. 3 NaN B 5.0
  59. 4 NaN C 6.0
  60. '''

pandas-16 pd.merge()的用法的更多相关文章

  1. python数据表的合并(python pandas join() 、merge()和concat()的用法)

    merage# pandas提供了一个类似于关系数据库的连接(join)操作的方法<Strong>merage</Strong>,可以根据一个或多个键将不同DataFrame中 ...

  2. pandas-09 pd.groupby()的用法

    pandas-09 pd.groupby()的用法 在pandas中的groupby和在sql语句中的groupby有异曲同工之妙,不过也难怪,毕竟关系数据库中的存放数据的结构也是一张大表罢了,与da ...

  3. Pandas中关于 loc \ iloc 用法的理解

    转载至:https://blog.csdn.net/w_weiying/article/details/81411257 loc函数:通过行索引 "Index" 中的具体值来取行数 ...

  4. Pandas | Dataframe的merge操作,像数据库一样尽情join

    今天是pandas数据处理第8篇文章,我们一起来聊聊dataframe的合并. 常见的数据合并操作主要有两种,第一种是我们新生成了新的特征,想要把它和旧的特征合并在一起.第二种是我们新获取了一份数据集 ...

  5. Pandas高级教程之:GroupBy用法

    Pandas高级教程之:GroupBy用法 目录 简介 分割数据 多index get_group dropna groups属性 index的层级 group的遍历 聚合操作 通用聚合方法 同时使用 ...

  6. pandas 7 合并 merge 水平合并,数据会变宽

    pd.merge( df1, df2, on=['key1', 'key2'], left_index=True, right_index=True, how=['left', 'right', 'o ...

  7. SQL2008中Merge的用法

    在SQL2008中,新增了一个关键字:Merge,这个和Oracle的Merge的用法差不多,只是新增了一个delete方法而已.下面就是具体的使用说明: 首先是对merge的使用说明: merge ...

  8. SQL中Merge的用法

    SQL中Merge的用法 Merge的用法 Merge可以完成以下功能: 1.  两个表之间数据的更新 2.  进行进销存更新库存 3.  进行表之间数据的复制 语法说明: 1.  在语句结束后一定要 ...

  9. SQL2008中Merge的用法(轉載)

    在SQL2008中,新增了一个关键字:Merge,这个和Oracle的Merge的用法差不多,只是新增了一个delete方法而已.下面就是具体的使用说明: 首先是对merge的使用说明: merge ...

随机推荐

  1. MongoDB在windows及linux环境下安装

    linux下安装配置 整理中... windows下安装配置 1.下载: https://www.mongodb.com/download-center?jmp=nav 2.解压到D盘 3.D:\下创 ...

  2. 14-cmake语法-循环

    循环: foreach set(VAR a b c) foreach(f ${VAR}) message(${f}) endforeach() while set(VAR 5) while(${VAR ...

  3. ValueError: Dependency on app with no migrations: customuser

    You haven't run manage.py makemigrations customuser to create the migrations for your CustomUser app ...

  4. R语言学习(基本知识)

    0)查看帮助 library(help="ballgown") #查看包帮助 getwd() #查看当前工作目录 setwd('C:/Users/djx/Desktop/信号肽系统 ...

  5. Django MySQL 数据库连接

    Django 1.11 官方文档 常规说明 数据库连接 CONN_MAX_AGE 定义数据库连接时限(ALL) default:0 保存在每个请求结束时关闭数据库连接的历史行为. None:保持长连接 ...

  6. vue之父子组件通信

    一. 父-子组件间通信 let children={    template:`<div><h1>{{send}}</h1></div>`,  # 将传 ...

  7. webpack中的hash、chunkhash、contenthash区别

    hash一般是结合CDN缓存来使用,通过webpack构建之后,生成对应文件名自动带上对应的MD5值.如果文件内容改变的话,那么对应文件哈希值也会改变,对应的HTML引用的URL地址也会改变,触发CD ...

  8. win10 将任意文件固定到开始屏幕(最佳办法)

      1.情景展示 以.bat文件文件为例,想将其固定到开始屏幕上,但是选中-->右键,却没有固定到开始屏幕选项,如何将其固定到开始屏幕上呢? 2.解决方案 选中你要固定到开始屏幕上的文件--&g ...

  9. 2018-2019-2 20165315《网络对抗技术》Exp7 网络欺诈防范

    2018-2019-2 20165315<网络对抗技术>Exp7 网络欺诈防范 一.实验内容 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法.具体实践有 简单应 ...

  10. react-native字体react-native-vector-icons在ios下的使用

    react-native字体react-native-vector-icons在ios下的使用 官网和网上有各种针对ios/android的安装和使用方法:能够使用了,基本就等于安装成功了. reac ...