pandas中合并多个DataFrame的多种方式:
- merge合并是根据某列中相同的值进行合并
- join是左右合并多个DataFrame,相当于合并了多个列
- concat 可以把多个列名相同的DataFrame合并,可以设置行合并还是列合并
1. merge(根据相同的列值连接合并)
how=连接方式
on=合并列名
默认内连接方式为内连接
不设置只考虑key列中共同有的值
df1 = pd.DataFrame({'id':[1,2,3,4,5,6],'city':['wuhan','newyork','shanghai','paris','losangeles','london'],'country':['china','usa','china','france','usa','england'],'visits':[2,1,2,1,2,1]})
df2 = pd.DataFrame({'id':[1,2,3,4,5],'country':['china','france','usa','germany','japan'],'visits':[2,2,2,2,2]})
print(df1)
print(df2)
print('内链接')
df3 = pd.merge(df1,df2,on='country')
print(df3)
左连接
考虑df1中key列中所有的值,df2的key列没有对应值话,NaN填充
print('左链接')
df3 = pd.merge(df1,df2,on='country',how='left')
print(df3)