python的合并函数与sql的连接非常类似。 以下是merge ()函数的参数:
合并(left,right,how='inner ',on=None,left_on=None,righton=None,left_index=False,right_ ) ) copy=True,indicator=False,validate=None (一、importpandasaspdf1=PD.data frame ((key ' : ) (a ) )
key value1 0a01b12a23b34b4 df2
key value 20 a 01 c 12 c 23c 34c 4p d.merge (df1,df2 ) #使用df1,df2的同一列名key连接,默认how='inner ',PD.merge ) df1,df2,#
key value1value 20 a 001 a 20 PD.merge (df1,df2,how='outer ' ) #已完全连接并获取并行集
key value1value 20 a0. 00.01 a2. 00.02b1.0 nan 3b 3.0 nan 4b 4.0 nan 5cn an 1.06 cnan 2.07 cnan 3.08 cnan 4.0 PD.merge (
key value1value 20 a 0.01 B1 NaN2a 20.03 B3 nan4B4 nan PD.merge (df1,df2,how='right ' ) #右连接,右全部,左部分,无值则用nan填充
key value1value 20 a 0.01 a 2.02 cnan 13 CNA n24 CNA n35 cnan 4页面,如果左右连接键名称不同,如果两个数据帧左右连接键的列名不同,可以通过left_on、right_on指定
DF3=PD.dataframe((lkey(: ) a )、(b )、(a )、(b ) )、(data165:range) ) ) ) DF4=PD .
lkey data10 a 01 b 12 a 23 b 34 b 4 df4
rkey data 20 a 01 c 12 c 23c 34c 4p d.merge (df3,df4,left_on='lkey ',right_on='rkey ' ) ##内部连接,默认how='inner
lkey data1 rkey data 20 a 0a 01 a2a0PD.merge (df3,df4,left_on='lkey ',right_on='lkey ',how='outer ' ) ##
lkey data1 rkey data 20 a 0.0 a 0.01 a 2.0 a 0.02 b 1.0 nannan 3b 3.0 nannan 4b 4.0 nannan5nannanc 1.06 nannanc 2.07 nannan nan NC 3.08 nannnnanc 4.0。 0PD.merge(df3,df4,left_on='lkey ',right_on='rkey ',how='left ' ) ##左连接
lkey data1 rkey data 20 a 0.01 B1 nannan2a2a 0.03 B3 nannan4B4 nannan PD.merge (df3,df4,left_on='lkey ',right_on='rkey
lkey data1 rkey data 20 a 0.0 a 01 a 2.0 a 02 nannanc 13 nannanc 24 nannanc 35 nannanc 4三个,索引为连接密钥df5=PD.dataframe(NP.Arange(12 ) ) ) V1、(v2、(v3、(V4 ) ) ) ) df6=PD.dataframe ) NP.Arange ) 12、24、1
v1 v2 v3 v4a 0 1 2 3b 4 5 6 7c 8 9 10 11 df6
V5 V6 V7 V8 a 12131415 b 16171819 d 2021223 PD.merge (df5,df6,left_index=True,right_index=True ) () )。
v1 v2 v3v4 V5 V6 V7 V8 a 012312131415 b 456716171819