pandas 的 on 属性
新增一个共同列,但没有相等的值,发现合并返回是空列表,因为默认只保留所有共同列都相等的行:>>> left[``'k2'``] ``=
list``(``'1234'``)
>>> right[``'k2'``] ``=
list``(``'5678'``)
>>> pd.merge(left, right)
Empty DataFrame
Columns: [B, A, k1, k2, F, E]
Index: []
可以指定 on,设定合并基准列,就可以根据 k1 进行合并,并且 left 和 right 共同列 k2 会同时变换名称后保留下来:>>> pd.merge(left, right, on``=``'k1'``)
A B k1 k2_x C D k2_y
0
a2 b2 y ``3
c1 d1 ``5
1
a2 b2 y ``3
c2 d2 ``6
2
a3 b3 y ``4
c1 d1 ``5
3
a3 b3 y ``4
c2 d2 ``6
默认值:on 的默认值是所有共同列,本例为:on=[‘k1’, ‘k2’]
新增一个共