1.pd.merge :pd调用
2.pd.concat([df1,df2],axis=0\1)
将俩个表合并(默认内连接) 7种连接方法
通过调用下面的类实现

1.通过调用类实现内连接

  1. class display(object):
  2. template = """<div style="float: left; padding: 10px;">
  3. <p style='font-family:"Courier New", Courier, monospace'>{0}</p>{1}
  4. </div>"""
  5. def __init__(self, *args):
  6. self.args = args
  7. def _repr_html_(self):
  8. return '\n'.join(self.template.format(a, eval(a)._repr_html_())
  9. for a in self.args)
  10. def __repr__(self):
  11. return '\n\n'.join(a + '\n' + repr(eval(a))
  12. for a in self.args)
  1. df1 = pd.DataFrame({'employee': ['Bob', 'Jake', 'Lisa', 'Sue'],
  2. 'group': ['Accounting', 'Engineering', 'Engineering', 'HR']})
  3. df2 = pd.DataFrame({'employee': ['Lisa', 'Bob', 'Jake', 'Sue'],
  4. 'hire_date': [2004, 2008, 2012, 2014]})
  5. display('df1', 'df2', 'pd.merge(df1,df2)')

微信截图_20201104132700.png
2.指定融合方法: pd.concat(axis=0/1)
3.on指定一个参数,suffixes=(“str”,”str”)(元组) 防止列重名
写了on就不写left_on…都是平行关系

  1. # 左侧和右侧的相同内容字段名字一致且只有一个相同字段
  2. pd.merge(df1,df2)
  3. # 左侧和右侧的相同内容字段名字一致但是只有多个相同字段
  4. pd.merge(df1,df2,on='x')
  5. # 左侧和右侧的相同内容字段名字不一致
  6. pd.merge(df1,df2,left_on='x',right_on='y')
  7. # 不适用列进行融合,可以选择索引进行融合
  8. pd.merge(df1,df2,left_index=True,right_index=True)
  9. # 不同的融合方式
  10. pd.merge(df1,df2,how='outer|inner|left|right')