文章目录
合并数据集
pandas对象中的数据可以通过一些内置的方式进行合并:
- pandas.merge 可以根据一个或多个键将不同DataFrame中的行连接起来
- pandas.concat 可以沿着一条轴将多个对象堆叠到一起
- 实例方法 combine_first 可以将重复数据连接在一起,用一个对象中的值填充另一个对象中的缺失值
默认情况下,merge做的是“inner”连接,结果中的键是交集。其他方式还有“left”、“right”以及“outer”。外连接求取的是键的并集,组合了左连接和右连接的效果
多对多连接产生的是行的笛卡尔积
在进行列——列连接时,DataFrame对象中的索引会被丢弃
索引的合并
有时候,DataFrame中的连接键位于其索引中。在这种情况下,可以传入left_index=True或right_index=True(或两个都传)以说明索引应该被用作连接键。
对于层次化索引的数据,必须以列表的形式指明用作合并键的多个列
DataFrame还有一个join实例方法,它能更为方便地实现按索引合并。它还可用于合并多个带有相同或相似索引的DataFrame对象,而不管它们之间有没有重叠的列
轴向连接
pandas的concat函数提供了轻松完成轴向连接的可靠方式
默认情况下,concat是在axis=0上进行合并,当然,我们也可以令axis=1
合并重叠数据
combine_first方法可以实现合并重叠数据,并且会进行数据对齐
df1 = pd