经过concat进行dataframe或者series的链接,主要参数:web
导入数据:
sql
append至关因而concat的简写,只能进行一行一行的追加,即上下堆叠。
app
经过merge方法,能够将两个dataframe进行合并链接,这种链接相似于sql中对两张表进行join链接。主要参数:svg
导入数据:
3d
默认内链接inner,至关于sql语句select df1.* ,df2.* from df1 join df2 on df1.id = df2.id
左链接:
df1.merge(df2,how = ‘left’)
相似于select df1. * ,df2. * from df1 left join df2 on df1.id = df2.id
保留全部df1的值,df2匹配df1的值返回,若是没有匹配值返回空值。
右链接:
df1.merge(df2,how = ‘right’)
相似于select df1. * ,df2. * from df1 right join df2 on df1.id = df2.id
保留全部df2的值,df1匹配df2的值返回,若是没有匹配值返回空值。
外链接:
df1.merge(df2,how = ‘outer’)
相似于select df1. * ,df2. * from df1 full outer join df2 on df1.id = df2.id
保留全部df一、df2的值,df1若是有匹配df2的值返回,若是没有匹配值返回空值。
xml
不写on,默认是按照两个dataframe中全部同名列进行链接。
blog
导入数据:
df和df3的行索引匹配链接:
df.merge(df3,left_index = True,right_index = True)
df的行索引和df3的列名=1进行匹配链接:
df.merge(df3,left_index = True,right_on = 1)
索引
默认使用左右两表的行索引进行左链接。
join的主要参数:
how:指定链接方式。默认left左链接,能够是inner、outer、left、right。
on:指定左表(左dataframe)使用哪一个字段与右表(右dataframe)的行索引链接,右边只能用行索引。
lsuffix、rsuffix:当两个dataframe有同名列,指定lsuffix左边后缀,rsuffix右边后缀,若不指定会报错。图片
导入数据:
默认左链接,保留全部df1的值,df1的列名0,1与df2的行索引0,1进行匹配,返回df2匹配的值,不匹配返回空值。
默认左链接,指定df1中的列0值(100,3,7)与df2中的行索引(0,1,3)的记录进行匹配,只有df1的列0值3与df2的行索引号3匹配成功,返回值,没有匹配返回空值。
设置how = ‘inner’内链接,只有df1的列0中的值3与df2的行索引3的记录匹配,因为是内链接,只返回匹配成功的记录行。
ci
merge与join相似,都是进行两张表的链接。
不一样: