join:按行索引进行合并,行的索引名称必须一样,:默认情况下他是把行索引相同的数据合并到一起
merge:按照指定的列把数据按照一定的方式合并到一起,默认的合并方式inner
默认的合并方式inner,并集
merge outer,交集,NaN补全
merge left,左边为准,NaN补全
merge right,右边为准,NaN补全
#!usr/bin/env python
#-*- coding:utf-8 _*-
'''
@author:Administrator
@file: pandas_dataframe_join_demo.py
@time: 2020-01-04 下午 5:39
'''
import pandas as pd
import numpy as np
a=pd.DataFrame(np.ones((2,4)),index=list("AB"),columns=list("uvwx"));
print(a)
b=pd.DataFrame(np.ones((3,5)),index=list("ABC"),columns=list("lmnpq"));
print(b)
#join:按行索引进行合并,行的索引名称必须一样,:默认情况下他是把行索引相同的数据合并到一起
c=a.join(b);
print("join后结果:\r\n",c)
print("####################列索引的合并========================")
#merge:按照指定的列把数据按照一定的方式合并到一起,默认的合并方式inner
'''
默认的合并方式inner,并集
merge outer,交集,NaN补全
merge left,左边为准,NaN补全
merge right,右边为准,NaN补全
'''
e=pd.DataFrame(np.arange(12).reshape(4,3),index=list("ABCd"),columns=list("luv"));
#print(e)
e.loc["A","u"]=1;
#e.loc["B","u"]=1;
print("a:\r\n",a)
print("e:\r\n",e)
f=a.merge(e,on="u")
print(f)
print("####################列索引的左连接========================")
f=a.merge(e,on="u",how="outer")
print(f)
f=a.merge(e,on="u"):的说明示意图: