pandas入门(十八)

上一篇:pandas入门(十七)

合并重叠数据

还有一种数据组合问题不能用简单的合并(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暂时终结

发布了75 篇原创文章 · 获赞 117 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42893334/article/details/104045118