您当前的位置: 首页 >  pandas

IT之一小佬

暂无认证

  • 0浏览

    0关注

    1192博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

pandas高级处理-合并

IT之一小佬 发布时间:2021-02-27 22:28:46 ,浏览量:0

pandas高级处理-合并

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

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

比如我们将刚才处理好的one-hot编码与原数据合并

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

【这儿是紧接着上篇博文数据往下走的】

2 pd.merge
  • pd.merge(left, right, how='inner', on=None)
    • 可以指定按照两组数据的共同键值对合并或者左右各自
    • left: DataFrame
    • right: 另一个DataFrame
    • on: 指定的共同键
    • how:按照什么方式连接
Merge methodSQL Join NameDescriptionleftLEFT OUTER JOINUse keys from left frame onlyrightRIGHT OUTER JOINUse keys from right frame onlyouterFULL OUTER JOINUse union of keys from both framesinnerINNER JOINUse intersection of keys from both frames 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'])

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

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

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

3 总结
  • pd.concat([数据1, 数据2], axis=**)
  • pd.merge(left, right, how=, on=)
    • how -- 以何种方式连接
    • on -- 连接的键的依据是哪几个
关注
打赏
1665675218
查看更多评论
立即登录/注册

微信扫码登录

0.0417s