python 把几个DataFrame合并成一个DataFrame——merge,append,join,conca

python  把几个DataFrame合并成一个DataFrame——merge,append,join,conca

pandas provides various facilities for easily combining together Series, DataFrame, and Panel objects with various kinds of set logic for the indexes and relational algebra functionality in the case of join / merge-type operations.

1、merge
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None,
         left_index=False, right_index=False, sort=True,
         suffixes=('_x', '_y'), copy=True, indicator=False)
left   对象
right   另一个 对象
on︰   加入   (名称) 必须   综合 对象 找到 如果 通过   left_index     right_index   推断   DataFrames   交叉点 连接
left_on   左边 综合 使用 作为 可以 列名 数组 长度 等于 长度 综合
right_on   正确 综合 用作 可以 列名 数组 长度 等于 长度 综合
left_index  如果为  True 使用 索引   (行 标签)   综合 作为 联接 键。 多重   (层次)  的 综合 级别 必须 匹配 联接 综合 数目
right_index   相同 用法 作为 正确 综合   left_index
how︰   之一   '左', '右', '外在'、   '内部'。 默认 内部 每个 方法 详细 说明 参阅
sort︰   综合 通过 联接 字典 顺序 结果 进行排序 默认值   True 设置   False 提高 性能 极大地 许多 情况下
suffixes︰   字符串 后缀 不适 用于 重叠 元组 默认值   ('_x', '_y')。
copy︰   即使 重新索引 必要 总是 传递 综合 对象 复制 数据   (默认值 True) 许多 情况下 不能 避免 可能会 提高 性能   /   内存 使用情况 可以 避免 复制 上述 案件 有些 病理 尽管如此 提供 选项
indicator︰  将 添加 输出 综合 呼吁   _merge   信息 一行 _merge   绝对类型 观测 合并 出现   '左'  的 综合 观测 合并 会出现   '正确'  的 综合 两个 如果 观察 合并 关键 发现 两个   right_only   left_only  的

1.result = pd.merge(left, right, on='key')

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

2、append
1.result = df1.append(df2)

2.result = df1.append(df4)
3.result = df1.append([df2, df3])
4.result = df1.append(df4, ignore_index=True)

4、join
left.join(right, on=key_or_keys)
pd.merge(left, right, left_on=key_or_keys, right_index=True,
      how='left', sort=False)
1.result = left.join(right, on='key')
2.result = left.join(right, on=['key1', 'key2'])
3.result = left.join(right, on=['key1', 'key2'], how='inner')

4、concat
pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,
          keys=None, levels=None, names=None, verify_integrity=False,
          copy=True)
objs︰   一个 序列 系列   综合 面板 对象 映射 如果 字典 传递 作为 参数 使用 排序 除非 传递 种情况下 选择   (见 下文)。 任何 没有任何 反对 默默地 丢弃 除非 他们 没有 种情况下 引发   ValueError
axis:   {0, 1, ...}, 默认值 为 0。 连接 沿
join :   {'内部'、   '外'}, 默认   '外'。 如何 处理 其他   axis(es)   索引 联盟   交叉口
ignore_index   布尔值   默认   False 如果 为  True 不要 串联 使用 索引 由此产生 标记   0, ... n - 1。 有用 如果 串联 串联 没有 有意义 索引 信息 对象 请注意 联接 仍然 受到尊重 其他 索引
join_axes   索引 对象 列表 具体 指标 用于 其他   n - 1   而不是 执行 内部/外部 设置 逻辑
keys   序列 默认 构建 分层 索引 使用 通过 作为 外面 级别 如果 多个 级别 获得通过 包含 元组
levels   列表 序列 默认 具体 水平   (唯一 值)   用于 构建 多重 否则 他们 推断 钥匙
names   列表中 默认 由此产生 分层 索引 名称
verify_integrity   布尔值   默认   False 检查 是否 串联 包含 重复项 可以 相对于 实际 数据 串联 非常 昂贵
副本   布尔值   默认   True 如果 为  False 不要 不必要地 复制 数据

1.frames = [df1, df2, df3]

2.result = pd.concat(frames)


3.result = pd.concat(frames, keys=['x', 'y', 'z'])
4.result.ix['y']
    A   B   C   D
4  A4  B4  C4  D4
5  A5  B5  C5  D5
6  A6  B6  C6  D6
7  A7  B7  C7  D7
5.result = pd.concat([df1, df4], axis=1)
6.result = pd.concat([df1, df4], axis=1, join='inner')
7.result = pd.concat([df1, df4], axis=1, join_axes=[df1.index])
8.result = pd.concat([df1, df4], ignore_index=True)


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值