合并重叠数据
还有一种数据组合问题不能用简单的合并(merge)或连接(concatenation)运算来处理。
索引全部或部分重叠的两个数据集。我们使用NumPy的where函数,它表示一种等价于面向数组的if-else
=====================================
Series有一个combine_first方法,实现的也是一样的功能,还带有pandas的数据对齐
=====================================
对于DataFrame,combine_first自然也会在列上做同样的事情,可以将其看做:用传递对象中的数据为调用对象的缺失数据做补充
重塑层次化索引
层次化索引为DataFrame数据的重排任务提供了一种具有良好一致性的方式。主要功能有: stack:将数据的列“旋转”为行;unstack:将数据的行“旋转”为列。
=====================================
对该数据使用stack方法即可将列转换为行,得到一个Series
=====================================
对于一个层次化索引的Series,可以用unstack将其重排为一个DataFrame
=====================================
默认情况下,unstack操作的是最内层(stack也是如此)。传入分层级别的编号或名称即可对其它级别进行unstack操作:
=====================================
如果不是所有的级别值都能在各分组中找到的话,则unstack操作可能会引入缺失数据
=====================================
stack默认会滤除缺失数据,因此该运算是可逆的
=====================================
在对DataFrame进行unstack操作时,作为旋转轴的级别将会成为结果中的最低级别:
=====================================
当调用stack,可以指明轴的名字
++++++++++++++++++++++++++++++++++++
pandas暂时终结