Pandas 连接数据帧 [2022]

已发表: 2021-01-06

想象一下,您有两组数据,您必须将它们组合起来才能执行分析。 使用 SQL 时,可以使用 SQL 连接来组合来自数据库中两个或多个表的记录。 同样,Python 中也有连接数据帧的选项。 那么什么是数据框呢? Python 中的数据框有多个行和列。 它类似于 SQL 中的表。 你有用于 Python 数据分析的 pandas 软件库。 Pandas 连接数据帧帮助我们根据一定的逻辑组合数据帧。

组合数据帧的不同方式:

  • 内连接:内连接非常类似于两个集合的交集。 在内部连接的情况下,将返回一个数据框,其中仅包含那些具有共同属性的行。 因此,两个组合数据框中的每一行都应具有匹配的列值。
  • 左连接:左连接返回左数据框中的所有行,仅返回右数据框中的匹配行。
  • 右连接:右连接返回右数据框中的所有行,仅返回左数据框中的匹配行。
  • 全联接或外联接:全联接保留左侧数据框和右侧数据框的所有行。

资源

现在让我们看看 Pandas 中用于组合数据帧或序列的函数。

目录

Pandas 中的函数

1.加入功能

正如我们所读到的,Python 有很多类似 SQL 的特性可用于组合数据。 数据帧有一个充当地址的索引。 通常,行索引称为索引,而列由列名寻址。 Join 操作允许您合并来自两个数据框的所有列。 您可以通过更新“lsuffix”和“rsuffix”参数来重命名左右列。 您可以通过更新“how”参数来选择合并方式。

句法:
DataFrame.join( self , other , on=None , how='right' , lsuffix=” , rsuffix=” , sort=False )
另请阅读:Python Pandas 初学者教程

2.合并功能

合并功能与连接操作非常相似。 但是,您可以在组合来自两个数据帧的所有列时获得灵活的控制。 您可以使用 on = Column Name 来合并公共列上的数据框。 您可以更新 left_on = Column Name 或 right_on = Column Name 以使用左侧或右侧数据框中的列作为键来对齐表。 选择 left_index = True 或 right_index = True,允许您使用左侧数据框或右侧数据框的行标签作为连接键。

句法:

DataFrame.merge( self , right , how='left' , on=None , left_on=None ,

right_on=None , left_index=False , right_index=False , sort=False , suffixes=('_x' , '_y') , copy=True , indicator=False , validate=None )

阅读:熊猫面试问题

3. 连接函数

使用 Concat 函数,您可以根据您的选择组合列或行上的数据。 您可以在两个轴中的任何一个上设置连接逻辑(左/右/内/全连接)。 您还可以选择使用 verify_integrity 检查新的连接轴是否存在重复值。 如果没有在连接轴上指定索引值,则结果轴将被标记为 0,1,… n-1。 keys 参数允许您使用传递的键来形成分层索引。

句法

pandas.concat( objs , axis =0 , join='left' , join_axes=None ,

ignore_index=False keys=None levels=None names=None

verify_integrity=False , sort=None , copy=True )

阅读:Python 中的数据结构算法

包起来

正如我们在 pandas.DataFrame 中看到的,merge 和 join 函数用于组合在列上工作的数据框。 还有一个选项可以根据提供的后缀重命名列。 在逐行对齐的情况下,合并功能提供了更大的灵活性。 相反,pandas 的 Concat 函数可以对行或列进行操作。

使用 Concat 函数时不会重命名列。 当我们必须组合两个数据帧时,Pandas 连接数据帧是一项基本功能。 使用特定条件合并两个数据框可帮助您准备分析和其他任务所需的数据。 因此对于软件库 pandas 连接数据帧是一个不可或缺的功能。

您是否有兴趣了解更多关于 pandas 中可用的各种功能并深入研究数据分析? 您可以查看upGrad 提供的数据科学 PG 文凭这些课程由行业专家主持,将帮助您了解更多关于探索性数据分析、各种数据可视化技术和机器学习算法的知识。 与 upGrad 一起开始您在数据分析和机器学习领域的职业生涯。

Pandas 有哪些不同类型的关节?

Pandas 库提供了四种不同的连接来组合数据框。 这些连接如下 - 内连接是组合数据帧的最基本连接。 内连接返回一个数据框,其中仅包含那些具有共同属性的行。 因此,两个组合的数据帧都应该具有共同的值。 全连接或外连接返回左右数据框的所有行。 换句话说,它提供了两个数据帧的联合。 左连接返回左数据框的所有行以及右数据框的匹配行。 右连接与左连接正好相反。 它返回右侧数据帧的所有行以及左侧数据帧的匹配行。

连接行或列的不同方式是什么?

两个数据帧的行或列可以通过以下方式连接: 1. 使用 .concat() 连接 DataFrame - 这是我们使用“.concat()”函数连接两行或两列的最简单方法。 2. 通过在轴上设置逻辑连接 DataFrame - 在此方法中,我们在轴上定义不同的逻辑。 坐标轴的设置方式如下:取并集(join=outer)、取交集(join=inner)、使用具体索引。 3. 使用 .append() 连接 DataFrame - “.append()” 函数在“.concat()” 函数之前使用,它沿着轴 = 0 连接。 4. 通过忽略索引连接 DataFrame - 在此方法中,我们忽略无意义的索引并附加数据框。 我们使用 ignore_index 作为参数来忽略重叠索引。

你对合并函数了解多少?

合并功能对两个数据框进行操作,以合并行或列。 它是一种高内存连接操作,类似于关系数据库。 您可以使用 on = Column Name 来合并公共列上的数据框。
您可以更新 left_on = Column Name 或 right_on = Column Name 以使用左侧或右侧数据框中的列作为键来对齐表。 选择 left_index = True 或 right_index = True,允许您使用左侧数据框或右侧数据框的行标签作为连接键。