1. 数据合并
( 1 ) 内连接, 外连接, 左连接, 右连接, 外连接
1 ) 内连接
内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。
2 ) 外连接
( 2 ) DataFrame 合并
使用merge函数进行合并
没有指定要用那个列进行连接,merge就会将列名相同的列当做键. 也可以显示指定
pd.merge(df1, df2, on='key')
如果两个对象的列名不同, 也可以分别进行知道那个
pd.merge(df3, df4, left_on='lkey', right_on='rkey')
2 ) 连接方式
merge默认情况下是内连接, 结果中的键是交集,其他方式还有 "left", "right" 以及 "outer" . 外连接求取的是键的并集, 组合了左连接和右连接的效果.
指定连接方式:
pd.merge(df1, df2, how='outer')
( 3 ) merge参数
left 参与合并的左侧DataFrame
right 参与合并的右侧DataFrame
how "inner", "outer", "left", "right" 其中之一, 默认为" inner"
on 用于连接的列名,必须存在左右两个DataFrame对象中. 如果未指定, 且其他连接键也未指定,则以left和right列名的交集作 为连接键
left_on 左侧DataFrame中用作连接键的列
right_on 右侧DataFrame中用作连接键的列
left_index 将左侧的行索引用作其连接键
right_index 类似于left_index
sort 类似连接键对合并后的数据进行排序, 默认为True. 有时在处理大数据集时, 禁用该选吸纳个可获得更好的性能.
suffixes 字符串值元组, 用于追加到重叠列名的末尾, 默认为('_x','_y"). 例如, 如果左右两个DataFrame对象都有 "data", 则结果中 就会出现 "data_x" 和 "data_y"
copy 设置为False, 可以在某些特殊情况下避免将数据复制到结果数据结构中. 默认总是复制.