1.pd.merge :pd调用
2.pd.concat([df1,df2],axis=0\1)
将俩个表合并(默认内连接) 7种连接方法
通过调用下面的类实现
1.通过调用类实现内连接
class display(object):
template = """<div style="float: left; padding: 10px;">
<p style='font-family:"Courier New", Courier, monospace'>{0}</p>{1}
</div>"""
def __init__(self, *args):
self.args = args
def _repr_html_(self):
return '\n'.join(self.template.format(a, eval(a)._repr_html_())
for a in self.args)
def __repr__(self):
return '\n\n'.join(a + '\n' + repr(eval(a))
for a in self.args)
df1 = pd.DataFrame({'employee': ['Bob', 'Jake', 'Lisa', 'Sue'],
'group': ['Accounting', 'Engineering', 'Engineering', 'HR']})
df2 = pd.DataFrame({'employee': ['Lisa', 'Bob', 'Jake', 'Sue'],
'hire_date': [2004, 2008, 2012, 2014]})
display('df1', 'df2', 'pd.merge(df1,df2)')
2.指定融合方法: pd.concat(axis=0/1)
3.on指定一个参数,suffixes=(“str”,”str”)(元组) 防止列重名
写了on就不写left_on…都是平行关系
# 左侧和右侧的相同内容字段名字一致且只有一个相同字段
pd.merge(df1,df2)
# 左侧和右侧的相同内容字段名字一致但是只有多个相同字段
pd.merge(df1,df2,on='x')
# 左侧和右侧的相同内容字段名字不一致
pd.merge(df1,df2,left_on='x',right_on='y')
# 不适用列进行融合,可以选择索引进行融合
pd.merge(df1,df2,left_index=True,right_index=True)
# 不同的融合方式
pd.merge(df1,df2,how='outer|inner|left|right')