merge
merge 函数通过一个或多个键将数据集的行连接起来。
场景:针对同一个主键存在的两张包含不同特征的表,通过主键的链接,将两张表进行合并。合并之后,两张表的行数不增加,列数是两张表的列数之和。
def 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):
参数
描述
how
数据融合的方法,从在不重合的键,方式(inner、outer、left、right)
on
用来对齐的列名,一定要保证左表和右表存在相同的列名。
left_on
左表对齐的列,可以是列名。也可以是DataFrame同长度的arrays
right_on
右表对齐的列,可以是列名。
left_index
将左表的index用作连接键
right_index
将右表的index用作连接键
suffixes
左右对象中存在重名列,结果区分的方式,后缀名。
copy
默认:True。将数据复制到数据结构中,设置为False提高性能。
特性示例(1)
默认:以重叠的列名当作连接键
df1 = pd.DataFrame({'key': ['one', 'two', 'two'],
'data1': np.arange(3)})
df2 = pd.DataFrame({'key': ['one', 'three', 'three'],
'data2': np.arange(3)})
df3 = pd.merge(df1, df2)
print(df1)
print(df2)
print(df3)
key data1
0 one 0
1 two 1
2 two 2
key data2
0 one 0
1 three 1
2