5 Pandas------5.9 高级处理-合并(高级处理-合并、pd.merge)

文章目录

    • 5.9 高级处理-合并
      • 学习目标
      • 1 pd.concat实现数据合并
      • 2 pd.merge
        • 2.1 pd.merge合并

文章代码

5.9 高级处理-合并

学习目标

  • 目标
    - 应用pd.concat实现数据的合并
    - 应用pd.merge实现数据的合并

如果你的数据由多张表组成,那么有时候需要将不同的内容合并在一起分析

1 pd.concat实现数据合并

  • pd.concat([data1, data2], axis=1)
    - 按照行或列进行合并,axis=0为列索引,axis=1为行索引

比如我们将刚才处理好的one-hot编码与原数据合并
5 Pandas------5.9 高级处理-合并(高级处理-合并、pd.merge)_第1张图片

# 按照行索引进行
pd.concat([data, dummies], axis=1)

2 pd.merge

  • pd.merge(left, right, how=‘inner’, on=None)
    - 可以指定按照两组数据的共同键值对合并或者左右各自
    - left: DataFrame
    - right: 另一个DataFrame
    - on: 指定的共同键 how:按照什么方式连接

5 Pandas------5.9 高级处理-合并(高级处理-合并、pd.merge)_第2张图片

2.1 pd.merge合并

left = pd.DataFrame({'key1': ['K0', 'K0', 'K1', 'K2'],
                        'key2': ['K0', 'K1', 'K0', 'K1'],
                        'A': ['A0', 'A1', 'A2', 'A3'],
                        'B': ['B0', 'B1', 'B2', 'B3']})

right = pd.DataFrame({'key1': ['K0', 'K1', 'K1', 'K2'],
                        'key2': ['K0', 'K0', 'K0', 'K0'],
                        'C': ['C0', 'C1', 'C2', 'C3'],
                        'D': ['D0', 'D1', 'D2', 'D3']})

# 默认内连接
result = pd.merge(left, right, on=['key1', 'key2'])

5 Pandas------5.9 高级处理-合并(高级处理-合并、pd.merge)_第3张图片

左连接

result = pd.merge(left, right, how='left', on=['key1', 'key2'])

5 Pandas------5.9 高级处理-合并(高级处理-合并、pd.merge)_第4张图片

右连接

result = pd.merge(left, right, how='right', on=['key1', 'key2'])

5 Pandas------5.9 高级处理-合并(高级处理-合并、pd.merge)_第5张图片

外链接

result = pd.merge(left, right, how='outer', on=['key1', 'key2'])

5 Pandas------5.9 高级处理-合并(高级处理-合并、pd.merge)_第6张图片

3 总结

  • pd.concat([数据1, 数据2], axis=**)【知道】
  • pd.merge(left, right, how=, on=)【知道】
    - how – 以何种方式连接
    - on – 连接的键的依据是哪几个

你可能感兴趣的:(人工智能,机器学习)