「目录」
数据规整:聚合、合并和重塑
Data Wrangling: Join, Combine, and Reshape
-------->数据库风格的DataFrame合并
--------> 索引上的合并
上一篇笔记讲的是如何根据DataFrame的列名来链接两个DataFrame对象。
有时候我们要根据DataFrame中的index索引来合并数据。这种情况下,我们可以传入 left_index=True或right_index=True 或两个都传入来说明索引被用作链接键。
我们先创建两个DataFrame,指明根据第一个DataFrame的'key'列和第二个DataFrame的index索引来合并数据:
默认的merge方法是求取链接键的交集,通过传入how='outer'可以得到它们的并集:
层次化索引数据的合并
对于层次化索引的数据的合并,我们要以 列表的形式指明用作合并键的多个列 。
比如下面我们就指定根据第一个DataFrame的'key1'列和'key2'列以及第二个DataFrame的index索引来合并:
同时使用双方的索引来合并也没问题:
join方法
DataFrame还有便捷的实例方法join,它能更方便的实现按索引合并,但要求没有重叠的列。
我们还可以向join传入一组DataFrame,类似于concat函数,实现多个DataFrame的合并拼接:
-END-
join主要用于基于索引的横向合并拼接;merge主要用于基于指定列的横向合并拼接;
concat可用于横向和纵向合并拼接;
append主要用于纵向追加;
combine可以通过使用函数,把两个DataFrame按列进行组合。
join
join是基于索引的横向拼接,如果索引一致,直接横向拼接。如果索引不一致,则会用Nan值填充merge是基于指定列的横向拼接,该函数类似于关系型数据库的连接方式,可以根据一个或多个键将不同的DatFrame连接起来。该函数的典型应用场景是,针对同一个主键存在两张不同字段的表,根据主键整合到一张表里面。
可以指定不同的how参数,表示连接方式,有inner内连、left左连、right右连、outer全连,默认为inner
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)