如何在Python Pandas中结合两个数据框架
在许多现实生活中,我们要使用的数据来自于多个文件。我们经常需要把这些文件合并成一个DataFrame来分析数据。Pandas提供了这样的设施,可以轻松地将系列或DataFrame与各种索引的集合逻辑和连接/合并类型的操作中的关系代数功能结合。此外,Pandas还提供了比较两个系列或DataFrame并总结其差异的工具。
连接数据框架
pandas中的concat()函数用于将一个数据框架中的列或行追加到另一个数据框架中。concat()函数完成了沿着一个axis进行连接操作的所有繁重工作,同时对其他axis上的索引(如果有的话)执行可选的集合逻辑(union或intersection)。
输出:
连接数据框架
当我们连接我们的DataFrames时,我们只是把它们加在一起,也就是把它们垂直或并排地堆在一起。另一种结合DataFrames的方法是在每个数据集中使用包含共同值的列(一个共同的唯一ID)。使用一个共同的字段来组合DataFrames被称为 “连接”。包含共同值的列被称为 “连接键”。当一个DataFrame是一个 “查找表”,包含了我们想包含在另一个DataFrame中的额外数据时,以这种方式连接DataFrame通常是有用的。
注意:这种连接表的过程类似于我们在SQL数据库中对表的处理。
当把多个DataFrames粘合在一起时,你可以选择如何处理其他axis(除了被连接的axis以外)。这可以通过以下两种方式进行。
- 取它们的联合,join=’outer’。这是默认选项,因为它导致零信息损失。
- 采取交集的方式,join=’inner’。
示例:
输出:
使用append进行串联
concat()的一个有用的捷径是Series和DataFrame的append()实例方法。这些方法实际上早于concat。
示例:
输出:
注意: append()可能采取多个对象进行连接。
示例:
输出: