1 

a1 = pd.DataFrame({
'a': [1, 1, 2, 2, 2, 6, 7, 8, 10],
'b': [1, 2, 3, 4, 5, 6, 7, 8, 9],
'c': [1, 2, 3, 4, 5, 6, 7, 8, 9]
})
a2 = pd.DataFrame({
'a': [1, 1, 2, 4, 5, 6, 7, 8, 11],
'b': ['w', 'e', '2对应的出现3次', 4, 5, 6, 7, 8, 9],
'c': ['d', 'g', '2对应的出现3次', 4, 5, 6, 7, 8, 9]
})
a3 = pd.merge( left = a1, right = a2, on = ['a'], how = 'left')
print(a3)
# a b_x c_x b_y c_y
# 0 1 1 1 w d
# 1 1 1 1 e g
# 2 1 2 2 w d
# 3 1 2 2 e g
# 4 2 3 3 2对应的出现3次 2对应的出现3次
# 5 2 4 4 2对应的出现3次 2对应的出现3次
# 6 2 5 5 2对应的出现3次 2对应的出现3次
# 7 6 6 6 6 6
# 8 7 7 7 7 7
# 9 8 8 8 8 8
# 10 10 9 9 NaN NaN

用于融合的函数

https://blog.csdn.net/brucewong0516/article/details/82707492

pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None,

left_index=False, right_index=False, sort=True,

suffixes=('_x', '_y'), copy=True, indicator=False,

validate=None)

融合原则 :若不指定左右,则必须是key中相同的值才可以融合(左右指的是要融合的数组不是key)

           若指定了左右,则指定的一列必须有,另一列继续融合,出现两个及以上相同的不会丢失。若两边都有相同的,则最终个数是按乘法算。比如当按左边融合时,最终的个数不一定是左边的id个数,应该是每个id对应数量乘积之和

           若指定的是outer,则是最大限度的融合,实际上是左融合和右融合的并集

           若指定的是inner,则是最小限度的融合,实际上是左融合和右融合的交集

注意:how的参数必须是 left和right

2 merge()做两个表的融合时,注意融合后表的index始终是按照左边的表格算的,当想要融合后的表格按照某个表的融合列排序时,就要将该表放在左边,与how是left或right无关.

3  left和right后面的表格不加'',否则就成字符串了,会报错:ValueError: can not merge DataFrame with instance of type <class 'str'>

 

最新文章

  1. QGis、Qt对话框上的OK、Open、Cancel、Help等英文翻译
  2. Hibernate(六)__对象的三种状态
  3. web前端学习路线与书籍推荐
  4. Ubuntu 16.04 下卸载 lnmp/lamp 方法
  5. Zookeeper实现分布式选举算法
  6. LeetCode——Combinations
  7. 一个Jquery特效(转)
  8. How to pause the game in Uniy3D
  9. 各种API总结大全 JAVA、HTML、HTML5等等
  10. Spring Boot 构建 WAR和JAR 文件
  11. GO中的数组切片
  12. WPF DataGrid Custommization using Style and Template
  13. CentOS 7下编译安装Boost_1_57_0
  14. RN和IOS原生端交互
  15. Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
  16. leecode第九题(回文数)
  17. 11. 标准库浏览 – Part II
  18. BZOJ.3673/3674.可持久化并查集(可持久化线段树 按秩合并/启发式合并)
  19. Android论坛
  20. vs2012 与 win7 不兼容的问题

热门文章

  1. idea maven列表有问题的
  2. C# 计算位置居中
  3. 《温故而知新》JAVA基础二
  4. 力扣(LeetCode) 263. 丑数
  5. hive新功能cube和rollup
  6. 『TensorFlow』读书笔记_ResNet_V2
  7. Vue通过id跳转到商品详情页
  8. 解决import caffe 时no module named protobuf的报错
  9. 扯淡设计模式2:java,模板模式,
  10. Centos7配置TiDB监控