python merge()
-
python merge()——类似于sql中的join()函数
merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), copy=True, indicator=False, validate=None)
- 若左右key相同则
默认how='inner'——内连接,取交集
若how='outer'——全连接,取并集
- how='left' ### 左连接,左边取全部,右边取部分,没有值则用NaN填充
- how='right') ### 右连接,右边取全部,左边取部分,没有值则用NaN填充
2. 若左右key不同,则可以用left_on,right_on来进行指定
- left_on='lkey',right_on='rkey' ### 内连接,默认how='inner'
- left_on='lkey',right_on='rkey', how='left' ### 左连接
- left_on='lkey',right_on='rkey',how='right' ### 右连接
3.索引作为连接键
df5=pd.DataFrame(np.arange(12).reshape(3,4),index=list('abc'),columns=['v1','v2','v3','v4']) df6=pd.DataFrame(np.arange(12,24,1).reshape(3,4),index=list('abd'),columns=['v5','v6','v7','v8'])
pd.merge(df5,df6,left_index=True,right_index=True)