第六章连接
学习时间:
12月28-12月29日
学习内容:
一、关系型连接
关系型连接就是需要制定键的连接方式,在指定完键值之后,还需要指定连接方式,分别为左连接left,右连接right,内外连接分别是inner,outer。
- 左连接以左边的表为基准
- 右连接以右边的表为基准
- 内连接取两个表的共有键
- 外连接是相当与在内连接的基础上把两个表都独有的数据加进来。
注意:
如果表中的键出现了重复的情况,就用笛卡尔积的形式
什么是笛卡尔积呢:
例如:假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。
关系型连接在具体的操作过程中主要分为值连接和索引连接,具体到pandas中分别对应的是merge和join函数
简单来说,值连接是列方向上的操作,是以某一列中的值作为基准进行拼接,而索引连接是在行方向上,是以行索引为基准。
值连接操作:
如果我想连接的值,它们对应的列名不一样,那就分别指定连接的值,在merge函数中用left-on和right-on参数。
索引连接就是用join函数来实现:
二、方向连接
方向连接只要依靠的函数是concat,一般较常用的参数是
- axis表示连接方向(横向还是纵向)。
- join表示连接形式。默认join=outer,如果你只想取个交集就设为join=inner。
- concat在纵向连接时会根据列索引自动对齐的,