合并
合并
描述:将两个DataFrame数据集依照指定列,进行合并操作,得到一个新的DataFrame

属性说明
通用属性
- 前置延时 - 组件功能执行之前等待的时间,单位为''ms''
- 后置延时 - 组件功能执行后等待的时间,单位为''ms''
- 备注- 组件备注说明,以便于理解和快速定位
目标属性
left - 参与合并的左侧DataFrame数据集
right - 参与合并的右侧DataFrame数据集
how - 用以设置合并两个DataFrame的方式,有'inner'(默认)、'outer'、'left'以及'right'四种方式
on - 指定用于连接合并两个DataFrame的列,必须在左右DataFrame数据集中都存在(找到)的列
left_on - 当两个DataFrame数据集合并的指定列不相同时,使用左侧DataFrame中的'left_on'列作为合并列
right_on - 当两个DataFrame数据集合并的指定列不相同时,使用右侧DataFrame中的'right_on'列作为合并列
left_index - 根据左侧DataFrame中index进行合并,默认为False,使用时需为True
right_index - 根据右侧DataFrame中index进行合并,默认为False,使用时需为True
sort - 按照字典顺序通过连接列对结果DataFrame进行排序;默认为True,设置为False时,在很多情况下大大提高性能
suffixes - 对两个数据集中出现的重复列,新数据集中加上后缀进行区别,默认为('_x','_y')
copy - 如果为False,则避免将数据复制到结果数据框中。默认为True
indicator - 如果为True,则在输出数据框中添加一列,用于指示每行的来源
validate - string, 默认为'None'. 如果指定,检查合并是否为指定类型。以下是可能的选项:
'one_to_one'或'1:1':检查合并键在左右数据框中是否都是唯一的;'one_to_many'或'1:m':检查合并键在左侧数据框中是否唯一;'many_to_one'或'm:1':检查合并键在右侧数据框中是否唯一;'many_to_many'或'm:m':不允许
返回值
- 输出到变量 - 返回合并后的DataFrame
使用示例
准备需要合并的excel文件:df1、df2,内容如下图
df1

df2

添加【读取Excel】组件,读取表格df1数据---->添加【读取Excel】组件,读取表格df2数据

添加流程变量并命名为【df1】---->添加流程变量并命名为【df2】---->拖动变量并分别连至两个【读取Excel】组件的返回值

添加【合并】组件---->拖动变量df1连至合并组件的left属性---->拖动变量df2连至合并组件的right属性---->添加【输出】组件---->将合并的返回赋予到输出

情况1:合并组件的目标属性''on''为None---->运行流程

输出结果:运行流程后---->系统将自动读取excel表格数据,以'一'、'二'以及'三'这三列合并两个表格数据,并输出结果到控制台

情况2:合并组件的目标属性''on''输入列名'二'--->运行流程

输出结果:运行流程后---->系统将自动读取excel表格数据,以'二'列合并两个表格数据,并输出结果到控制台

情况3:合并组件的目标属性''on''输入列名为元素的有序集合['二','三'] ---->运行流程

输出结果:运行流程后---->系统将自动读取excel表格数据,以'二','三'合并两个表格数据,并输出结果到控制台

情况4:合并组件的目标属性''how''默认为'inner':内连接----> 以'一'列作为合并列---->运行流程

输出结果:运行流程后---->系统将自动读取excel表格数据,以'一'列交集合并两个DataFrame数据集,并输出结果到控制台

情况5:合并组件的目标属性''how''输入'outer':外连接,使用指定列的并集合并两个DataFrame数据集,即根据列名匹配出所有列内容的数据,未匹配上的内容填为NaN---->''on''属性输入'一',以'一'列作为合并列,匹配出两个DataFrame数据集中该列的所有内容数据---->运行流程

输出结果:运行流程后---->系统将自动读取excel表格数据,以'一'列作为合并列,并输出结果到控制台

情况6:合并组件的目标属性''how''输入'left':左连接,使用左侧DataFrame数据集指定列,即根据列名左侧DataFrame取全部,右侧DataFrame取匹配的内容---->''on''属性输入'一',以'一'列作为合并列,取左侧df1的全部,右侧df2只取与df1完全匹配的数据,其余内容填为NaN---->运行流程

输出结果:运行流程后---->系统将自动读取excel表格数据,以'一'列作为合并列,并输出合并结果

情况7:合并组件的目标属性''how''输入'right':右连接,使用右侧DataFrame数据集指定列,即根据列名右侧DataFrame取全部,左侧DataFrame取匹配的内容,未匹配上的内容填为NaN---->属性''on''输入'一',以'一'列作为合并列,取右侧df2的全部,左侧df1只取与df1完全匹配的数据,其余内容填为NaN---->运行流程

输出结果:运行流程后---->系统将自动读取excel表格数据,以'一'列作为合并列,并输出结果到控制台

情况8:合并组件的目标属性''left_on''输入'四'---->'right_on'输入'五'---->'how'输入'outer',即以df1的'四'列和df2的'五'列作为指定列的外连接---->运行流程

输出结果:运行流程后---->系统将自动读取excel表格数据,以df1的'四'列和df2的'五'列作为指定列的外连接合并两个表,并输出结果到控制台

情况9:合并组件的目标属性''left_index''和''right_index''设置为True,即以左右侧表数据中共有的index进行合并---->运行流程

输出结果:运行流程后---->系统将自动读取excel表格数据,以左右侧表数据中共有的index进行合并,并输出结果到控制台
