首页 > 后端开发 > Python教程 > 不同的 Pandas `merge()` 连接类型如何组合 DataFrame?

不同的 Pandas `merge()` 连接类型如何组合 DataFrame?

Susan Sarandon
发布: 2024-12-27 17:43:11
原创
204 人浏览过

How Do Different Pandas `merge()` Join Types Combine DataFrames?

Pandas 合并 101:基础知识

简介

在 Pandas 中合并 DataFrame 是组合和操作数据的强大工具来自不同的来源。本指南全面概述了联接的基本类型及其应用。

联接类型

1. INNER JOIN(默认)

  • 匹配两个 DataFrame 中具有公共键的行。
  • 仅返回在两个 DataFrame 中具有匹配值的行
  • 示例:

    left.merge(right, on='key')
    登录后复制

2. LEFT OUTER JOIN

  • 将左侧 DataFrame 中的行与右侧 DataFrame 中的相应行进行匹配。
  • 如果找不到匹配行,则将 NaN 插入到输出中右侧缺少列数据框。
  • 示例:

    left.merge(right, on='key', how='left')
    登录后复制

3. RIGHT OUTER JOIN

  • 将右侧 DataFrame 中的行与左侧 DataFrame 中的相应行进行匹配。
  • 如果找不到匹配行,则将 NaN 插入到输出中左侧缺少列数据框。
  • 示例:

    left.merge(right, on='key', how='right')
    登录后复制

4. FULL OUTER JOIN

  • 匹配两个 DataFrame 中的所有行,无论它们是否具有公共键。
  • 为两个 DataFrame 中缺失的行插入 NaN
  • 示例:

    left.merge(right, on='key', how='outer')
    登录后复制

其他连接变体

1. LEFT-排除 JOIN

  • 返回左侧 DataFrame 中与右侧 DataFrame 中的任何行都不匹配的行。

2. RIGHT-排除 JOIN

  • 返回右 DataFrame 中与左 DataFrame 中的任何行都不匹配的行。

3. ANTI JOIN(不包括任何一侧)

  • 从两个 DataFrame 返回与另一侧任何行都不匹配的行。

处理不同的数据键列名称

  • 使用left_on 和 right_on 参数用于合并具有不同名称的列。

避免输出中出现重复的键列

  • 将索引设置为初步步骤合并索引并消除重复键

从一个 DataFrame 中合并单个列

  • 在合并之前对列进行子集化,以从其中一个 DataFrame 中选择特定列。
  • 在只有一列的情况下,使用映射是一种更有效的方法

合并多列

  • 指定 on(或 left_on 和 right_on)的列表以合并多列。

以上是不同的 Pandas `merge()` 连接类型如何组合 DataFrame?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板